前面都是某一个或某九个Series绘图。这里将 DataFrame
绘图。
准备工作
使用Numpy包中的randint()方法生成一个随机数组并转换为DataFrame格式,便于接下来的绘图工作。
np.random.seed(666) # 每次生成的随机数将会是同一个
plot_df = pd.DataFrame(
np.random.randint(1,10,30).reshape(10,3),
columns = list('ABC')
)
print(plot_df.shape)
plot_df.head()
折线图
subplots属性会决定是否含有子图,这里为真则展示子图,默认按照数据框的列切分数据。
由于未指定kind,这里默认为line,因此绘制折线图。
plot_df.plot(subplots=True,figsize=(6,6))
横柱形图
plot_df.plot(kind='barh')
柱形图
kind=’bar’是柱形图。
修改stacked属性可以使数据堆叠。
plot_df.plot(kind='bar')
plot_df.plot(kind='bar',stacked=True)
面积图
Kind=’area’是面积图。
plot_df.plot(kind='area')
散点图
kind=’scatter’为散点图,因此需要传入两个列属性名作为参数。
plot_df.plot('A','B',kind='scatter')
饼图
kind=’pie’绘制饼图。
可以通过DataFrame的数据索引机制来更改绘图的数据。
plot_df['A'].plot(kind='pie')
二维直方图
使用正态分布的随机数产生横轴和纵轴的坐标值组合,不同颜色表示不同坐标组合出现的频数。
plot_df2 = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])
plot_df2.plot.hexbin(x='a', y='b', gridsize=25)
plot_df2.head()