3. Pandas绘图基础

  1. # 创建一个小DataFrame
  2. In[46]: df = pd.DataFrame(index=['Atiya', 'Abbas', 'Cornelia', 'Stephanie', 'Monte'],
  3. data={'Apples':[20, 10, 40, 20, 50],
  4. 'Oranges':[35, 40, 25, 19, 33]})
  5. df
  6. Out[46]:

3. Pandas绘图基础 - 图1

  1. # 画柱状图,使用行索引做x轴,列的值做高度,使用plot方法,参数kind设为bar
  2. In[47]: color = ['.2', '.7']
  3. df.plot(kind='bar', color=color, figsize=(16,4))
  4. Out[47]: <matplotlib.axes._subplots.AxesSubplot at 0x1143cae10>

3. Pandas绘图基础 - 图2

  1. # KDE图忽略行索引,使用每列的值作为x轴,并计算y值得概率密度
  2. In[48]: df.plot(kind='kde', color=color, figsize=(16,4))
  3. Out[48]: <matplotlib.axes._subplots.AxesSubplot at 0x11503ec50>

3. Pandas绘图基础 - 图3

  1. # 画三张双变量子图。散点图是唯一需要指定x和y轴的列,如果想在散点图中使用行索引,可以使用方法reset_index。
  2. In[49]: fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(16,4))
  3. fig.suptitle('Two Variable Plots', size=20, y=1.02)
  4. df.plot(kind='line', color=color, ax=ax1, title='Line plot')
  5. df.plot(x='Apples', y='Oranges', kind='scatter', color=color,
  6. ax=ax2, title='Scatterplot')
  7. df.plot(kind='bar', color=color, ax=ax3, title='Bar plot')
  8. Out[49]: <matplotlib.axes._subplots.AxesSubplot at 0x119ccb5f8>

3. Pandas绘图基础 - 图4

  1. # 将单变量图也画在同一张图中
  2. In[50]: fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(16,4))
  3. fig.suptitle('One Variable Plots', size=20, y=1.02)
  4. df.plot(kind='kde', color=color, ax=ax1, title='KDE plot')
  5. df.plot(kind='box', ax=ax2, title='Boxplot')
  6. df.plot(kind='hist', color=color, ax=ax3, title='Histogram')
  7. Out[50]: <matplotlib.axes._subplots.AxesSubplot at 0x119f475f8>

3. Pandas绘图基础 - 图5

更多

  1. # matplotlib允许手动指定x和y的值
  2. In[51]: fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(16,4))
  3. df.sort_values('Apples').plot(x='Apples', y='Oranges', kind='line', ax=ax1)
  4. df.plot(x='Apples', y='Oranges', kind='bar', ax=ax2)
  5. df.plot(x='Apples', kind='kde', ax=ax3)
  6. Out[51]: <matplotlib.axes._subplots.AxesSubplot at 0x11a1bc438>

3. Pandas绘图基础 - 图6