熊猫数据帧绘图

时间:2013-08-14 16:39:32

标签: python matplotlib plot pandas

我有这个Pandas DataFrame

enter image description here

给了我这个:

enter image description here

我如何

  1. 制作新图,
  2. 将标题添加到“Title Here”图中
  3. 以某种方式创建一个映射,以便代替标签为29,30等,他们说“第29周”,“第30周”等。
  4. 将较大版本的图表保存到我的电脑(例如10 x 10英寸)
  5. 我一直在为此困惑一个小时!

2 个答案:

答案 0 :(得分:12)

import matplotlib.pyplot as plt
# 1, 4
f = plt.figure(figsize=(10, 10)) # Change the size as necessary
# 2
dataframe.plot(ax=f.gca()) # figure.gca means "get current axis"
plt.title('Title here!', color='black')
# 3
# Not sure :(

答案 1 :(得分:11)

您可以使用rename DataFrame方法:

In [1]: df = pd.DataFrame(np.random.randn(7, 5),
                          index=['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
                          columns=[29, 30, 31, 32, 33])

In [2]: df
Out[2]: 
           29        30        31        32        33
Mon -0.080946 -0.072797 -1.019406  1.149162  2.727502
Tue  1.041598 -0.730701 -0.079450  1.323332 -0.823343
Wed  0.338998  1.034372 -0.273139  0.457153  0.007429
Thu -2.239857 -0.439499  0.675963  0.966994  1.348100
Fri  0.050717 -0.506382  1.269897 -0.862577  1.205110
Sat -1.380323  0.200088 -0.685536 -0.425614  0.148111
Sun -0.248540 -1.056943  1.550433  0.651707 -0.041801

In [3]: df.rename(columns=lambda x: 'Week ' + str(x), inplace=True)

In [5]: df
Out[5]: 
      Week 29   Week 30   Week 31   Week 32   Week 33
Mon -0.080946 -0.072797 -1.019406  1.149162  2.727502
Tue  1.041598 -0.730701 -0.079450  1.323332 -0.823343
Wed  0.338998  1.034372 -0.273139  0.457153  0.007429
Thu -2.239857 -0.439499  0.675963  0.966994  1.348100
Fri  0.050717 -0.506382  1.269897 -0.862577  1.205110
Sat -1.380323  0.200088 -0.685536 -0.425614  0.148111
Sun -0.248540 -1.056943  1.550433  0.651707 -0.041801

然后你可以用标题来绘制它:

In [4]: df.plot(title='Title Here')

请参阅visualisation section of the docs

中的详情

注意:to save the figure you can use savefig