如何在一个脚本中使用基于单个Excel文件的单个DataFrame创建具有相同格式的五个不同图形



我对Python还很陌生,所以这可能是一个简单的问题,但我还没有找到一个令人满意的答案。我有来自五个不同来源的数据,我试图在从Excel文件加载数据到单个DataFrame后在一个脚本中绘图。就像现在一样,我只知道如何一次绘制一个源,或者在一个图中绘制所有5个源(或介于1和5之间)。这可能不是所有必要的,但我已经包括了所有以防万一。

import numpy as np
import pandas as pd
from pandas import *
import matplotlib
import matplotlib.pyplot as plot
import datetime as datetime
from datetime import *
#Import data from Excel File
data2007 = pd.ExcelFile('f:PythonLearning 19-4-2013Data 2007.xls')
table2007 = data2007.parse('Sheet1', skiprows=[0,1,2,3,4,5], index=None)
#Plot data for first meter
ax = plot.figure(figsize=(7,4), dpi=100).add_subplot(111)
FirstMeter = table2007_3.columns[0]
Meter1 = table2007_3[FirstMeter]
Meter1.plot(ax=ax, style='-v')
#Plot data for second meter
SecondMeter = table2007_3.columns[1]
Meter2 = table2007_3[SecondMeter]
Meter2.plot(ax=ax, style='-v')
#Plot data for third meter
ThirdMeter = table2007_3.columns[2]
Meter3 = table2007_3[ThirdMeter]
Meter3.plot(ax=ax, style='v-')
#Plot data for fourth meter
FourthMeter = table2007_3.columns[3]
Meter4 = table2007_3[FourthMeter]
Meter4.plot(ax=ax, style='v-')
#Plot data for fifth meter
FifthMeter = table2007_3.columns[4]
Meter5 = table2007_3[FifthMeter]
Meter5.plot(ax=ax, style='v-')
#Command to show plots
plot.show()

我看到你正在从你的DataFrame的每一列中制作一个新的系列(例如,Meter1),然后在相同的轴上单独绘制它们。相反,您可以绘制DataFrame本身。Pandas假定您希望将每一列绘制为同一图上的单独一行,这似乎正是您在这里要做的。

table_2007.plot(style='v-')

table_2007[0:4].plot(style='v-'),如果有其他需要省略的列。

默认情况下,它还生成一个图例,您可以使用关键字参数legend=False来抑制该图例。

如果您想要单独的数字,正如您的问题标题所暗示的那样,subplots=True参数可能会完成工作。

最新更新