1、- subplot2grid
月坛小雨心得:subplots用于子图均匀分布的场景;subplot也可以用于子图不均匀的,代码更简洁;subplot2grid用于子图不均匀时,设置比较灵活。
使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure()创建一个图像窗口
import matplotlib.pyplot as plt
plt.figure()
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3) # stands for axes
ax1.plot([1, 2], [1, 2])
ax1.set_title('ax1_title')
使用plt.subplot2grid来创建第1个小图, (3,3)表示将整个图像窗口分成3行3列, (0,0)表示从第0行第0列开始作图,colspan=3表示列的跨度为3, rowspan=1表示行的跨度为1. colspan和rowspan缺省, 默认跨度为1.
使用plt.subplot2grid来创建第2个小图, (3,3)表示将整个图像窗口分成3行3列, (1,0)表示从第1行第0列开始作图,colspan=2表示列的跨度为2. 同上画出 ax3, (1,2)表示从第1行第2列开始作图,rowspan=2表示行的跨度为2. 再画一个 ax4 和 ax5, 使用默认 colspan, rowspan.
ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)
ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
ax4 = plt.subplot2grid((3, 3), (2, 0))
ax4.scatter([1, 2], [2, 2])
ax4.set_xlabel('ax4_x')
ax4.set_ylabel('ax4_y')
ax5 = plt.subplot2grid((3, 3), (2, 1))
使用ax4.scatter创建一个散点图, 使用ax4.set_xlabel和ax4.set_ylabel来对x轴和y轴命名.
2、 设置坐标轴刻度
想要修改x轴的刻度,从-1到2,总共5点:
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
只要把上述代码放在画图之前
- 3、DataFrame 切片 pd.loc \ pd.iloc \ []
如果说loc是按照索引(index)的值来选取的话,那么iloc就是按照索引的位置来进行选取。iloc不关心索引的具体值是多少,只关心位置是多少,所以使用iloc时方括号中只能使用数值。
data.loc[1:5] #行1取到行5,共5行
data.iloc[1:5] #行1取到行4,共4行
df.loc[2:5,['column1','column2']] #用列名
df.iloc[2:5,[1,2]]. #用位置
df.loc[(df.Cabin.isnull()),'Cabin'] = 'no'
*****如果没有特殊需求,强烈建议使用loc而尽量少使用[],因为loc在对DataFrame进行重新赋值操作时会避免chained indexing问题,使用[]时编译器很可能会给出SettingWithCopy的警告。
4、pandas中plot使用
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html