学到第九章了,好快啊-.-
关于子图的创建
文章提到了subplot的简单用法:绘制多个图形。
代码示例:
import matplotlib.pyplot as plt
import numpy as np
#绘制多图
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)#2×2 最多四个图形
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
plt.plot(np.random.randn(50).cumsum(), 'k--')
#plt.subplots_adjust(wspace=0, hspace=0) 控制图片宽度和高度百分比
plt.show()
输出
如果直接使用plt.plot,它会默认画上最后一个子图
设置坐标轴刻度和标签
例如,如果你想把X轴数字,设置为你想要的字符串可以采用set_xticketlabels。
#设置刻度标签
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(np.random.randn(100).cumsum())
ticks = ax.set_xticks([0,25,50,75,100])
lables = ax.set_xticklabels(['one','two','three','four','five'],
rotation=30, fontsize='small')
plt.savefig('666.png')
plt.show()
输出显示
Pandas绘图包与seaborn
我以为python绘图包只有matplotlib…没想到pandas也有,而且个人认为pandas绘图包还是挺方便的。学到很多。
#pandas绘图包
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10,4).cumsum(0),
columns=['A','B','C','D'],
index=np.arange(0,100,10))
df.plot()
输出
同时seaborn包方法也很多方便的函数,这里举一个:绘制散点图同时拟合出一条对应的线性回归线。(运用displot方法)
import seaborn as sns
comp1 = np.random.normal(0,1, size=200)
comp2 = np.random.normal(10,2, size=200)
values = pd.Series(np.concatenate([comp1,comp2]))
sns.distplot(values, bins=100, color='k')#displot绘制直方图和密度图一起
输出
如果想换成散点图:regplot
sns.regplot(comp1,comp2,data = values)
输出
本书本章个人认为重要知识点就这么多,大多数画图方法都可以轻易学到,还是得多多实践。