matplotlib数据可视化入门-python
2016-10-10 14:51
911 查看
matplotlib是matlab的python api接口,可以制作出高质量的2D以及3D图形。操作简单,只需几行代码就可以搞定大部分的数据可视化需求,实乃幸事。本文假设我们已经安装了必备的库。
一、创建figure和axes对象
我们使用上面的两行代码就可以创建出一个画图的面板,就像打开windows下面的画图软件一模一样,如下图所示:
ax = fig.add_subplot(1, 1, 1) 这句代码的意思就是我们将figure对象分成一行一列,也就是只有一个画图框,然后我们选中了这个画图框。
可以简单的画一条线试试:
二、制作图形
上面的代码就可以在画框中画出一条优美的蓝色对角线。
接下来,我们还可以设置图表的名称,图表的x轴刻度,y轴的刻度,图例等等。
运行上面代码我们会看到下面的图形:
发现并不能显示中文,原因是matplotlib在默认情况下默认是不会显示中文的,需要我们进行相应的设置,设置方法如下:
我在写这段代码的时候是在windows环境下的。windows下的字体都在c:\windows\fonts\这个目录下,进入这个目录,随便选一个中文字体就可以,非常的简单。
接下来,在添加中文的代码中也做一些调整:
上面的代码运行的结果如下所示:
中文非常完整的显示了出来,与我们预期的结果一模一样。
三、制作图例
一般情况下,我们会在同一个画图板中制作多个图形,已进行数据之间的比较,比如下图所示:
在图中我们画了两条线,颜色各不相同。可是,上面并没有明显的指出每条线代表的是什么意思。这时,我们就需要用到图例。图例的就是对每种不同颜色线条的说明,如下图所示:
在图表的右上角有了标注,那就是图例,指出了每种颜色的线条分别属于哪种标签,简洁明了。完整代码如下所示:
就这样,其实非常的简单。
四、添加图形注解
在制作图形的时候会遇到这样的情况,我们需要对图形上的某一个位置添加解释,废话不说先上图:
图表中的箭头以及文字就是对某一个坐标的注解,这非常的有用。实现起来是非常简单的:
我们只需要axes对象的annotate()方法就可以实现。参数说明:
s:我们需要注解的文字,在python中前面一定要加一个U,字符串表示
xy:需要我们箭头指向的点的(x, y)坐标,一个二元组对
xytext:注解文字所在的(x, y)的坐标,一个二元组对
arrowprops:字典,里面可以选择我们喜欢的连接两个坐标点的图形
到此为止,基本功能我们都已经实现,图标的标题,x轴(y轴)的刻度和名称,图例,文字注解。这已经可以满足我们大部分的需求。
更多的内容大家可以参考matplotlib的官方资源:http://matplotlib.org/
一、创建figure和axes对象
import matplotlib.pyplot as plt import pandas as pd #创建figure对象,默认我们可以不用传入任何参数 fig = plt.figure() #创建axes对象 ax = fig.add_subplot(1, 1, 1)
我们使用上面的两行代码就可以创建出一个画图的面板,就像打开windows下面的画图软件一模一样,如下图所示:
ax = fig.add_subplot(1, 1, 1) 这句代码的意思就是我们将figure对象分成一行一列,也就是只有一个画图框,然后我们选中了这个画图框。
可以简单的画一条线试试:
二、制作图形
ax.plot(range(5))
上面的代码就可以在画框中画出一条优美的蓝色对角线。
接下来,我们还可以设置图表的名称,图表的x轴刻度,y轴的刻度,图例等等。
ax.set_title(u'这里是标题') ax.set_xlabel(u'这里是x轴的名称') ax.set_ylabel(u'这里是y轴的名称')
运行上面代码我们会看到下面的图形:
发现并不能显示中文,原因是matplotlib在默认情况下默认是不会显示中文的,需要我们进行相应的设置,设置方法如下:
import matplotlib.pyplot as plt import matplotlib import pandas as pd #在导入matplotlib时就设置字体 font = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\STZHONGS.TTF') #创建figure对象,默认我们可以不用传入任何参数 fig = plt.figure() #创建axes对象 ax = fig.add_subplot(1, 1, 1)
我在写这段代码的时候是在windows环境下的。windows下的字体都在c:\windows\fonts\这个目录下,进入这个目录,随便选一个中文字体就可以,非常的简单。
接下来,在添加中文的代码中也做一些调整:
import matplotlib.pyplot as plt import matplotlib import pandas as pd #在导入matplotlib时就设置字体 font = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\STZHONGS.TTF') #创建figure对象,默认我们可以不用传入任何参数 fig = plt.figure() #创建axes对象 ax = fig.add_subplot(1, 1, 1)
ax.plot(range(5))
ax.set_title(u'这里是标题', fontproperties=font)
ax.set_xlabel(u'这里是x轴的名称', fontproperties=font)
ax.set_ylabel(u'这里是y轴的名称', fontproperties=font)
上面的代码运行的结果如下所示:
中文非常完整的显示了出来,与我们预期的结果一模一样。
三、制作图例
一般情况下,我们会在同一个画图板中制作多个图形,已进行数据之间的比较,比如下图所示:
在图中我们画了两条线,颜色各不相同。可是,上面并没有明显的指出每条线代表的是什么意思。这时,我们就需要用到图例。图例的就是对每种不同颜色线条的说明,如下图所示:
在图表的右上角有了标注,那就是图例,指出了每种颜色的线条分别属于哪种标签,简洁明了。完整代码如下所示:
import matplotlib.pyplot as plt import matplotlib import pandas as pd #在导入matplotlib时就设置字体 font = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\STZHONGS.TTF') #创建figure对象,默认我们可以不用传入任何参数 fig = plt.figure() #创建axes对象 ax = fig.add_subplot(1, 1, 1)
#其中的label关键词参数就是图例
ax.plot(range(5), label='one')
ax.plot(range(5, 0, -1), label='two')
ax.set_title(u'这里是标题', fontproperties=font)
ax.set_xlabel(u'这里是x轴的名称', fontproperties=font)
ax.set_ylabel(u'这里是y轴的名称', fontproperties=font)
#显示出图例,并标明位置
ax.legend(loc='best')
就这样,其实非常的简单。
四、添加图形注解
在制作图形的时候会遇到这样的情况,我们需要对图形上的某一个位置添加解释,废话不说先上图:
图表中的箭头以及文字就是对某一个坐标的注解,这非常的有用。实现起来是非常简单的:
ax1.annotate(s=u'我就是要指向这里', xy=(x,y), xytext=(x, y), arrowprops={'arrowstyle':'fancy'}, fontproperties=font, fontsize=10)
我们只需要axes对象的annotate()方法就可以实现。参数说明:
s:我们需要注解的文字,在python中前面一定要加一个U,字符串表示
xy:需要我们箭头指向的点的(x, y)坐标,一个二元组对
xytext:注解文字所在的(x, y)的坐标,一个二元组对
arrowprops:字典,里面可以选择我们喜欢的连接两个坐标点的图形
到此为止,基本功能我们都已经实现,图标的标题,x轴(y轴)的刻度和名称,图例,文字注解。这已经可以满足我们大部分的需求。
更多的内容大家可以参考matplotlib的官方资源:http://matplotlib.org/
相关文章推荐
- 基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
- Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
- Python - matplotlib 数据可视化
- Matplotlib入门:Python的可视化绘制工具包
- python——数据可视化:matplotlib,seaborn,pandas
- Python之数据可视化神奇-Matplotlib
- 读书笔记--python数据可视化--001_matplotlib学习
- Python数据可视化matplotlib(一)—— 图表的基本元素
- python的数据可视化库 matplotlib 和 pyecharts
- python—matplotlib数据可视化实例注解系列-----设置标注字体样式(matplotlib颜色库)
- python的数据可视化库 matplotlib 和 pyecharts
- python数据可视化——安装matplotlib
- Python数据可视化-matplotlib学习1
- 【转】Python数据可视化利器Matplotlib,colors系列,颜色的指定形式
- 教程 | 5种快速易用的Python Matplotlib数据可视化方法
- [置顶] Python数据可视化—matplotlib笔记
- python 数据可视化 matplotlib学习一:绘制简单的折线图
- 【数据可视化】Daft:(Python)基于matplotlib绘制精美概率图模型
- Python+pandas+matplotlib数据分析与可视化案例(附源码)
- python 数据可视化 matplotlib学习三:生成随机漫步数据并使用matplotlib呈现