Python数据分析库pandas ------ 初识 matpoltlib:matplotliab画图怎么显示中文;设置坐标标签;主题;画子图;pandas时间数据格式转化;图例;

打开画布,传入x,y的值,可以简单的画出曲线图

 1 import matplotlib.pyplot as plt
 2
 3 c = [
 4     0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 0.9012051747628913,
 5     0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 0.9012051747628913,
 6     0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 0.8246557944522697,
 7     0.7544842280408721, 0.6902265689813546, 0.6313864504646931, 0.5775093282079332,
 8     0.5211950040503636, 0.46780543149450055, 0.41969125813285063, 0.37634483770567245,
 9     0.33730644971557494, 0.30215984264922796, 0.2705281787178777, 0.24207035338627686,
10     0.2164776560859111, 0.19347074047424476, 0.17279687546043812, 0.15422745095614654,
11     0.13755571478805428, 0.12259471943174775, 0.10917545922273249, 0.09238916892440648,
12     0.07810309775699459, 0.132592491963472, 0.11187615362102099, 0.09429909803049094,
13     0.07939692421648169, 0.06677264402087058, 0.0560870414573683, 0.04705039444088354,
14     0.039415368208175136, 0.03203425502245122, 0.02583224107946905, 0.020769682030363956,
15     0.016646574068682765, 0.013296693161182788, 0.010582068906654783, 0.008388339009249155,
16     0.006620847041428546, 0.005201367205062169, 0.004065357659143943, 0.003159659141824776,
17     0.002440568476024901, 0.0018722274554178776, 0.0014252768539108648, 0.0010757331361786078,
18     0.0008040520819562571, 0.0005943491533515433, 0.0004337511864414913, 0.00031185800679816146
19      ]
20
21 plt.plot(range(0, 60), c)
22 plt.show()

  允许结果:

  

  画出来的图像简单,且单调。一般为了美观我们需要更多的参数指定。

对x轴的一些操作

Get the current locations and labels:

>>> locs, labels = xticks()

Set label locations:

>>> xticks(np.arange(0, 1, step=0.2))

Set text labels:

>>> xticks(np.arange(5), (‘Tom‘, ‘Dick‘, ‘Harry‘, ‘Sally‘, ‘Sue‘))

Set text labels and properties:

>>> xticks(np.arange(12), calendar.month_name[1:13], rotation=20) 

  如下案例:

1 plt.plot(range(0, 60), c)
2 # xticks(*args, **kwargs) -----> xticks(locs, [labels], **kwargs)  # Set locations and labels
3 # np.arange(0, 60, step=5) 是指定刻度的位置;
4 # 第二个参数("0", "10万", "20万", "30万", "40万", "50万", "60万")指定对应刻度的标识
5 # 第三个我们可以用 rotation=20 指定标识的角度。
6 plt.xticks(np.arange(0, 61, step=10), ("0W", "10W", "20W", "30W", "40W", "50W", "60W"), rotation=20)
7 plt.show()
8 loc_, labels = plt.xticks()  # 获取刻度的位置与标识
9 print(loc_, "\n", labels)

  运行结果:

   

添加横坐标标签和纵坐标标签,以及标题

1 # matplotlib默认不支持中文,这里我们用, fontproperties=font指定字体
2 from matplotlib.font_manager import FontProperties
3 font = FontProperties(fname=r"c:\windows\fonts\STKAITI.TTF", size=14)
4 plt.plot(range(0, 60), c)
5 plt.xticks(np.arange(0, 61, step=10), ("0W", "10W", "20W", "30W", "40W", "50W", "60W"), rotation=20)
6 plt.xlabel("利益(W:万)", fontproperties=font)
7 plt.ylabel("概率", fontproperties=font)
8 plt.title("利益概率曲线", fontproperties=font)
9 plt.show()

  运行结果:

  

在一个画布上花多个子图

 1 # figure(num=None,  # autoincrement if None, else integer from 1-N
 2 #        figsize=None,  # defaults to rc figure.figsize
 3 #        dpi=None,  # defaults to rc figure.dpi
 4 #        facecolor=None,  # defaults to rc figure.facecolor
 5 #        edgecolor=None,  # defaults to rc figure.edgecolor
 6 #        frameon=True,
 7 #        FigureClass=Figure,
 8 #        clear=False,
 9 #        **kwargs
10 #        )
11 fig = plt.figure()
12 ax1 = fig.add_subplot(2, 2, 1)  # 子图的实例化
13 ax2 = fig.add_subplot(2, 2, 2)
14 ax3 = fig.add_subplot(2, 2, 4)
15 # 在子画布上画图要用前面的实例
16 ax1.plot(range(0, 60), c)
17 # set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs)
18 plt.figure(1)
19 plt.xticks(np.arange(0, 61, step=10), ("0W", "10W", "20W", "30W", "40W", "50W", "60W"), rotation=20)
20 plt.xlabel("利益(W:万)", fontproperties=font)
21 plt.ylabel("概率", fontproperties=font)
22 plt.title("利益概率曲线", fontproperties=font)
23 plt.show()

  运行结果:

  

  此时,也许你会疑惑,我们想将坐标标识等示例画到第一个字画布上,然而matplotlib默认画在最后一个字画布

上面了,怎么办呢?关于更多知识点请跳转到其他博客,那里有更详细的说明

pandas导入时间数据进行格式转化

  

在一个画布上画多张图,并添加图例

 1 from matplotlib.font_manager import FontProperties
 2 font = FontProperties(fname=r"c:\windows\fonts\STKAITI.TTF", size=14)
 3 colors = ["red", "green"]  # 用来指定线的颜色
 4 labels = ["JingDong", "12306"]  # 用来指定图例
 5 plt.plot(range(0, 60), c, c=colors[0], label=labels[0])
 6 plt.plot(range(0, 60), np.arange(0, 0.89, step=0.015), c=colors[1], label=labels[1])
 7 plt.legend(loc="best")  # 指定图例显示的位置,没有plt.legend()不会显示图例
 8 plt.xticks(np.arange(0, 61, step=10), ("0万", "10万", "20万", "30万", "40万", "50万", "60万"),
 9            rotation=20, fontproperties=font)
10 plt.xlabel("利益(W:万)", fontproperties=font)
11 plt.ylabel("概率", fontproperties=font)
12 plt.title("利益概率曲线", fontproperties=font)
13 plt.show()

  运行结果:

   

原文地址:https://www.cnblogs.com/dan-baishucaizi/p/9465396.html

时间: 2024-10-12 07:20:02

Python数据分析库pandas ------ 初识 matpoltlib:matplotliab画图怎么显示中文;设置坐标标签;主题;画子图;pandas时间数据格式转化;图例;的相关文章

ArcGIS10中matplotlib画图时的中文设置

利用GIS的数据批量生成XY的图形图像文件,可以直接使用Python.一般大家都是用matplotlib,中文设置的问题参看了许多内容,结论是对错不一,让我折腾了三天,现总结如下: 1.软件的版本.安装测试的为numpy-1.6.1和matplotlib-1.1.0,WindowsXP系统.我原来系统安装的numpy-1.6和matplotlib-1.1.0有冲突. 2.修改matplotlibrc文件.ArcGIS10下安装后,该文件在C:\Python26\ArcGIS10.0\Lib\si

ubuntu 16.04 + python + matplotlib下画图显示中文设置

一.需求 因为在python画图显示的时候,经常需要展示一些中文,但是ubuntu系统下按照默认安装方式安装的时候,一般是不能显示中文的,当强行给legend.xlabel.ylabel赋予中文的时候,会显示为方块 二.参考 http://blog.csdn.net/onepiece_dn/article/details/46239581 三.配置方法 (1)  显示本机的同时可用的中文和西文字体 def dispFonts(): #显示可用的中文字体,同时支持英文的 from matplotl

Python数据分析库pandas ------ merge、concatenation 、pd.concat合并与拼接

对于合并操作,熟悉SQL的读者可以将其理解为JOIN操作,它使用一个或多个键把多行数据 结合在一起. 事实上,跟关系型数据库打交道的开发人员通常使用SQL的JOIN查询,用几个表共有的引用 值(键)从不同 的表获取数据.以这些键为基础,我们能够获取到列表形式的新数据,这些数据是对几个表中的数据进行组合 得到的.pandas库中这类操作叫作合并,执行合并操作的函数为 merge(). 1 import pandas as pd 2 import numpy as np 3 4 frame1 = p

Python数据分析库pandas ------ pandas

数据转换 删除重复元素 DataFrame对象的duplicated()函数可用来检测重复的行,返回元素为布尔型的Series对象. 每个元素对 应一行,如果该行与其他行重复(也就是说该行不是第一次出现),则元素为True; 如果跟前面不重复,则元 素就为False. 返回元素为布尔值的Series对象用处很大,特别适用于过滤操作.通常,所有重复的行都需要从DataFrame 对象中删除.pandas库的drop_duplicates()函数实现了删除功能,该函数返回的是删除重复行后的DataF

python 数据分析库介绍

1 引言 高效处理数据的python工具: 与外界进行交互: 读写各种文件格式和数据库 准备: 对数据进行清理.修整.整合.规范化.重塑.切片切换.变形等处理以便进行分析 转换: 对数据集做一些数学和统计运算以产生新的数据集.你如说,根据分组变量对一个大表进行聚合 建模和计算: 将数据进行统计模型.机器学习或其他计算工具联系起来 展示: 创建交互式或静态的图片或文字摘要 2 重要的库 (1)NumPy(Numerical Python) 菜鸟教程 numerical 英 /nju?'mer?k(

Python的matplotlib库画图不能显示中文问题解决

首先在D:\Python\Lib\site-packages\matplotlib\mpl-data下找到matplotlibrc文件修改 1,找到 #font.family          : sans-serif 去掉注释 2,找到 #font.sans-serif     : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 修改为 f

Python数据分析:手把手教你用Pandas生成可视化图表

大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后,pandas的使用变得更加普及,它的身影经常见于市场分析.爬虫.金融分析以及科学计算中. 作为数据分析工具的集大成者,pandas作者曾说,pandas中的可视化功能比plt更加简便和功能强大.实际上,如果是对图表细节有极高要求,那么建议大家使用matplotlib通过底层图表模块进行编码.当然,我

五个 Python 常用数据分析库

前言 Python 是常用是数据分析工具,常用的数据分析库有很多,下面主要介绍如下五个分析库:NumPy.Pandas.SciPy.StatsModels.Matplotlib. NumPy NumPy 是一个非常常用的数据分析库,更准确点说是一个数学计算库,包括下面的 Pandas 也依赖于 NumPy.话说为什么用 NumPy,他有什么优点? 众多内置的数学计算:文章你看到这里,说明你要做的工作大概率是和人工智能.机器学习或数据分析相关的工作,这些工作不是简单的代码逻辑的堆叠,而更多的数学的

小白学 Python 数据分析(11):Pandas (十)数据分组

人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):Pandas (二)数据结构 Series 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择 小白学