“ Matplotlib库由各种可视化类构成,
import matplotlib.pyplot as plt(约定别名)”
01
—
数据可视化工具
02
—
子绘图区域subplot和subplot2grid
subplot和subplot2grid都可以在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域,两者的区别是subplot是“直男”,它只能在井字格里直来直去,subplot2grid是“渣男”,它的本质是设定网格,选中网格来确定行列数量,也就是它可以有非常复杂绘图区域。
subplot: subplot2grid:
1、plt.subplot(nrows,ncols,plot_number)
上述栗子:plt.subplot(3,2,4)或plt.subplot(324)
2、plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)
上述栗子:ax2=plt.subplot2grid((3,3)(1,0),colspan=2)
或
import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
gs=gridspec.Gridspec(3,3)
ax2=plt.subplot(gs[1,:-1]
03
—
plot函数
一、plt.plot(x,y,format_string,**kwargs)
1、x:x轴数据,列表或数组,可选。只输入一个列表或数组时,参数被当作Y轴,X轴以索引自动生成。
2、y:y轴数据,列表或数组。有2个以上参数时,按照x轴和y轴顺序绘制数据点。
3、format_string:控制曲线的格式字符串(由颜色字符、风格字符和标记字符组成),可选。——不用特意记,有需要的时候再翻出来用,虽然很多选择,但图表建议尽量简洁有力。
4、**kwargs:第二组或更多(x,y,format_string),绘制多条曲线时,各曲线的x不能省略。
控制颜色:color="green"
线条风格:linestyle='dashed'
标记风格:marker='o'
标记颜色:markerfacecolor='blue'
标记尺寸:markersize=20
…
二、pyplot的文本显示函数
plt.xlabel/.ylabel(‘轴名’,轴格式=)/.title(整体文本,斜体字$$)/.text(任意位置文本)/.annotate(内容,xy=(箭头),xytext(箭尾),arrowprops=dict(facecolor='箭色',shrink=0.1,width=2))/.axis([轴域])
pyplot并不默认中文显示,
1、需要rcParams修改字体
matplotlib.rcParams['font.family(名字)/.style(normal/italic斜体)/.size(大小,整数)']='SimHei黑体/Kaiti楷体/LiSu隶书/FangSong仿宋/YouYuan幼圆/STSong华文宋体'
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
2、增加属性fontproperties
三、plt.savefig(路径文件名,dpi=300),默认png
四、plt.show()。如果你要保存文件,记得先保存文件再show,不然,你的图片就是一片空白。
import matplotlib.pyplot as plt
plt.plot([3,1,4,5,2])
plt.ylabel('Grade')
plt.savefig(r'C:\Users\Rhonin\Desktop\python练习\数据分析练习\\plot小试\test.jpg',dpi=200)
plt.show()
练习:
import matplotlib.pyplot as plt
plt.plot([0,2,4,6,8],[3,1,4,5,2],'r-.o')
plt.axis([0,10,0,6])
plt.ylabel('分数',fontproperties='SimHei',fontsize=20)
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
plt.xlabel('编号')
plt.title('测试f(x)=y',fontsize=30)
plt.annotate(r'$x=4$', xy=(4,4),xytext=(5,5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))
plt.show()
04
—
基础图表
plt.plot(坐标)/.boxplot(箱形)/.bar(条形)/.barh(横条形)/.polar(极坐标)/.pie(饼)/.psd(功率谱密度)/.specgram(谱图)/.cohere(x-y相关性函数)/.scatter(散点,x=y)/.step(步阶)/.hist(直方)/.contour(等值)/.vlines(垂直)/.stem(柴火)/.plot_date(日期)
练习:
import matplotlib.pyplot as plt
plt.pie([10,15,35,40],labels=('A','B','C','D'),explode=(0,0,0,0.1),\
autopct='%1.1f%%',shadow=True,startangle=90)
plt.show()
更多图表设计可以参考matplotlib官网栗子,非常实用!
https://matplotlib.org/stable/gallery/index.html
tips:——总得会点心机婊的招数
其实,我们平时可以选几种炫酷特别是excl做不出来的图练习一下,mark起来,以后在如年会总结之类关键时刻炫技,毕竟机会都是留给有准备的人的。