【利用python进行数据分析】绘图和可视化

通常的引入约定是:

import matplotlib.pyplot as plt

fig,axes=plt.subplots(2,3)

这种用法,可以一下子产生2x3个子窗口,并且以numpy数组的方式保存在axes中,而fig仍然是整个图像对象,这样我们可以通过对axes进行索引来访问每个子窗口。

wspace和hspace用于控制宽度和高度的百分比,可以用作subplot之间的间距。

使用plt.subplots_adjust(wspace=0,hspace=0)即可将宽高间距缩为0。

颜色、标记和线型:

matplotlib的plot函数接受一组X和Y坐标,还可以接受一个表示颜色和线型的字符串缩写。例如要根据x和y绘制绿色虚线,可以执行如下代码:

ax.plot(x,y,'g--')

或者ax.plot(x,y,linestyle='--',color='g')

可以更改实际数据点的标记,通过marker=''

可以通过drawstyle选项修改插值方式,默认的非实际数据点是按线性方式插值的。

刻度、标签和图例:

xlim、xticks、xticklabels之类的方法用于分别控制图表的范围、刻度位置、刻度标签等。

xlim会将X轴的范围设置为0到10:通过ax.set_xlim设置,如果要查看某个axes的xlim,就用ax.get_xlim

设置标题、轴标签、刻度以及刻度标签:

fig=plt.figure()

ax=fig.add_subplot(1,1,1)#创建1*1的图像且目前针对的是第一个子图。

ticks=ax.set_xticks([0,250,500,750,1000])

labels=ax.set_xticklabels(['one','two','three','four','five'],rotation=30,fontsize='small')#设置x轴标签,rotation表示刻度距离

然后使用set_xlabel为X轴设置名称,并用set_title设置标题。对于Y轴的修改方式,只需要将上述代码中的x替换为y即可。

添加图例:

图例是另一种用于标识图表元素的重要工具。添加图例的方式:

fig=plt.figure()

ax=fig.add_subplot(1,1,1)

ax.plot(randn(1000).cumsum(),'k',label='one')

ax.legend(loc='best')#如果不吹毛求疵的话,传入best是最好的选择,因为它会选择最不碍事的位置。

注解以及在subplot上绘图:

注解可以通过text、arrow和annotate等函数进行添加。

例:ax.text(x,y,'Hello world!',family='monospace',fontsize=10)

注解中也可以添加箭头➡️

这个图好厉害但是这一块我还有些疑惑没搞清,先把图截下来吧。

图形的绘制要麻烦一些,matplotlib中有一些表示常见图形的对象,被称为块(patch)。有些块可以在matplotlib.pyplot中找到,但完整的集合位于matplotlib.patches。

如果要在图表中添加图形,需要创建块对象shp,然后通过ax.add_patch(shp)将其添加到subplot中。

将图表保存到文件:

利用plt.savefig可以将当前图表保存到文件。如果要将图表保存为SVG文件,只需输入:

plt.savefig('figpath.svg')

在发布图片时最常用到的两个重要选项是dpi(控制“每英寸点数”分辨率)和bbox_inches(可以剪除当前图表周围的空白部分)。

例如,要得到一张带有最小白边且分辨率为400DPI的PNG图片,可以:

plt.savefig('figpath.png',dpi=400,bbox_inches='tight')

matplotlib配置

可以管理图像大小,subplot边距、配色方案、字体大小、网格类型等。

pandas中的绘图函数

要组装一张图表,需要用它的各种基础组件才行:数据展示、图例、标题、刻度标签以及其他注解型信息。

pandas中有许多能够利用DataFrame对象数据组织特点来创建标准图表的高级绘图方法。

1.线型图

s=Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))

s.plot()

该Series对象的索引会被传给matplotlib,并用以绘制X轴。X轴的刻度和界限可以通过xticks和xlim选项进行调节。

dataframe的plot方法会在一个subplot中为各列绘制一条线,并自动创建图例。

猜你喜欢

转载自blog.csdn.net/m0_37842667/article/details/82716687