【发布时间】:2013-07-30 21:45:03
【问题描述】:
下面的代码给了我下面的图像。
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(),但我无法获得一个图表来显示我的数据。
有什么想法吗?我的目标是有一个这样的工作流程(我将介绍):
- 看看我是如何导入数据的!
- 这就是我设置图表的方式! (显示基础图)
- 这就是我绘制所有数据的方式! (显示带有数据的基础图)
- 这就是我过滤数据的方式! (做一些花哨的过滤)
- 这就是过滤后的数据的样子! (在同一基础图上显示新数据)
【问题讨论】:
-
您需要
plt.draw()或ax.figure.canvas.draw()来重新渲染轴。您应该将第二个轴捕获为ax2 = ax.twinx()。
标签: python matplotlib ipython ipython-notebook