【发布时间】:2013-10-22 17:56:05
【问题描述】:
我有一个使用 matplotlib 绘制的饼图。除了这个饼图,我还有一个滑块,按下它会调用一个处理程序。我希望这个处理程序改变饼图的值。例如,如果饼图的标签分别为 60% 和 40%,我希望在按下滑块时将标签修改为 90% 和 10%。代码如下:
这将绘制饼图和滑块:
plt.axis('equal');
explode = (0, 0, 0.1);
plt.pie(sizes, explode=explode, labels=underlyingPie, colors=colorOption,
autopct='%1.1f%%', shadow=True, startangle=90)
plt.axis('equal')
a0 = 5;
axcolor = 'lightgoldenrodyellow'
aRisk = axes([0.15, 0, 0.65, 0.03], axisbg=axcolor)
risk = Slider(aRisk, 'Risk', 0.1, 100.0, valinit=a0)
risk.on_changed(update);
下面是事件处理函数,想要的功能是修改标签和重绘饼图
def update(val):
riskPercent = risk.val;
underlyingPie[0] = 10;
underlyingPie[1] = 90;
plt.pie(sizes, explode=explode, labels=lab, colors=colorOption,
autopct='%1.1f%%', shadow=True, startangle=90)
我也在画下图,我可以在同一个画布上同时获得饼图和下图吗?
fig = plt.figure();
ax1 = fig.add_subplot(211);
for x,y in zip(theListDates,theListReturns):
ax1.plot(x,y);
plt.legend("title");
plt.ylabel("Y axis");
plt.xlabel("X axis");
plt.title("my graph");
提前致谢
【问题讨论】:
-
那么问题是什么?
-
在调用滑块时用新值重新绘制饼图
-
我收集到了,但是您的代码看起来或多或少是正确的,什么不起作用?
标签: python python-2.7 python-3.x matplotlib