导入的拓展包
matplotlib是Python中常用的画图工具, 在日常使用往往需要用到中文, 导入的同时也加入中文拓展包, 会方便很多.
import matplotlib.pyplot as plt
from pyplotz.pyplotz import PyplotZ
from pyplotz.pyplotz import plt
pltz = PyplotZ()
pltz.enable_chinese()
可以在导入程序包的同时, 设定好画图的分辨率以及画布的大小.
plt.rcParams['figure.dpi'] = 200
plt.rcParams['figure.figsize'] = [10,5]
简单折线图
给定一个pandas dataframe, 可以直接采用.plot()的方法画图 (无需import matplotlib).
import pandas as pd
index = [k for k in np.arange(0,1,0.001)]
c1 = pd.Series([k for k in index], index = index, name = 'y=x')
c2 = pd.Series([k*k for k in index], index = index, name = 'y=x^2')
df = pd.concat([c1,c2], axis = 1)
df.plot()
![8db8d8fef7c6b613c7cad61a6dea41a5.png](https://i-blog.csdnimg.cn/blog_migrate/13eb1dfeb06e5787a13bfd559945616c.jpeg)
这样可以很方便地画出一个dataframe里面所有列的折线图, label就是列名. 而如果想要个性化列名的话, 可以选择一列一列地画. 对于pandas series来说, 当横坐标输入参数缺省时默认为series的index. 通过参数"color"和"label"可以来决定折线的颜色, 以及折线的标签.
plt.plot(df.iloc[:,0], color = 'black', label = 'y=x')
plt.plot(df.iloc[:,1], color = 'red', label = 'y=square(x)')
plt.legend()
![0340a8a781e3ea3bac8f3adbd4462b47.png](https://i-blog.csdnimg.cn/blog_migrate/ea77f3d0ed081c584f207ad0ed922452.jpeg)
而当需要标签为中文时, plt.legend()由于字体不包括中文, 会出问题. 而使用pltz.legend()就可以囊括中文.