前面都是某一个或某九个Series绘图。这里将 DataFrame 绘图。

准备工作

使用Numpy包中的randint()方法生成一个随机数组并转换为DataFrame格式,便于接下来的绘图工作。

  1. np.random.seed(666) # 每次生成的随机数将会是同一个
  2. plot_df = pd.DataFrame(
  3. np.random.randint(1,10,30).reshape(10,3),
  4. columns = list('ABC')
  5. )
  6. print(plot_df.shape)
  7. plot_df.head()

image.png
折线图

subplots属性会决定是否含有子图,这里为真则展示子图,默认按照数据框的列切分数据。
由于未指定kind,这里默认为line,因此绘制折线图。

  1. plot_df.plot(subplots=True,figsize=(6,6))

image.png

横柱形图

  1. plot_df.plot(kind='barh')

image.png

柱形图

kind=’bar’是柱形图。
修改stacked属性可以使数据堆叠。

  1. plot_df.plot(kind='bar')

image.png

  1. plot_df.plot(kind='bar',stacked=True)

image.png

面积图

Kind=’area’是面积图。

  1. plot_df.plot(kind='area')

image.png

散点图

kind=’scatter’为散点图,因此需要传入两个列属性名作为参数。

  1. plot_df.plot('A','B',kind='scatter')

image.png

饼图

kind=’pie’绘制饼图。
可以通过DataFrame的数据索引机制来更改绘图的数据。

  1. plot_df['A'].plot(kind='pie')

image.png

二维直方图

使用正态分布的随机数产生横轴和纵轴的坐标值组合,不同颜色表示不同坐标组合出现的频数。

  1. plot_df2 = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])
  2. plot_df2.plot.hexbin(x='a', y='b', gridsize=25)
  3. plot_df2.head()

image.png
image.png