下面的代码为我提供了下面的图片。
flowRates=[2,5,10,20,50]
flowRateTol=0.2
#sets the limits for the plot
xRange=(0,700)
yRange=(0,70)
ax=axes()
ax.set_xlabel('Time (s)')
#ax.set_ylabel('Reaction Force (lbf)')
ax.legend(loc=0)
#set up the second axis
ax.twinx()
ax.set_ylabel('10s Average Flow Rate')
ax.set_xlim(xRange)
ax.set_ylim(yRange)
#shade the acceptable tolerance bands
for flowRate in flowRates:
rectX=[0,xRange[1],xRange[1],0]
rectY=[ flowRate*(1-flowRateTol),
flowRate*(1-flowRateTol),
flowRate*(1+flowRateTol),
flowRate*(1+flowRateTol)]
ax.fill(rectX,rectY,'b', alpha=0.2, edgecolor='r')
然而,我想在下一个iPython单元格中做的是在图表上实际绘制数据。我正在使用的代码(不成功)只是调用ax.plot()
,但我无法获得显示我的数据的图表。
有什么想法?我的目标是有一个像我这样的问题:
答案 0 :(得分:2)
我建议将不同的想法包装到功能中。 E.g
这是我导入数据的方式:
def Import_Data(file_name,...): #Stuff导入数据 返回数据
这是我绘制数据的方式: def Plot(data ..)
只绘制基本情节似乎是一个特殊情况,你可以做一次,但如果你真的希望能够显示这一点,并尽量减少重复代码的数量,只允许data=None
忽略错误而不是绘制任何东西。
像这样分割代码的好处在于,只需要对一个函数进行更改就很容易,只需要担心输入和输出。例如,要过滤,您可以在plot
函数中添加过滤器paramateter,也可以创建以相同方式绘制的新过滤数据!