如何解决Sympy图_backend.ax显示为列表对象,不允许我设置xlabel
我正在尝试使用sympy在python中绘制一个隐式定义的函数,并且发现非常缺乏内置的绘制功能。源代码建议使用_backend直接修改matplotlib轴和图形对象。这是我的代码的缩写版本:
import matplotlib
from sympy import symbols,exp,plot_implicit,Eq
V,I = symbols('V I')
#define implicit equation to plot
eq1 = Eq(exp(I+V)-I,0)
#plot equation
p1 = plot_implicit(eq1,V,I)
#use _backend.ax to set xlabel and title of plot
axis = p1._backend.ax
axis.set_xlabel('Voltage (V)')
axis.set_title('ooga')
p1._backend.fig.savefig('test.png')
p1.show()
但是当我运行它时,我得到以下输出:
plot generated without specified axis label and title
AttributeError: 'list' object has no attribute 'set_xlabel'
这为什么不起作用?我不明白为什么我的轴对象被另存为列表。 (而且,我发现我根本无法获得任何绘图输出,这很奇怪,因为这似乎暗示在我调用p1.show()之前正在生成绘图)
编辑:
我已经按照JohanC的建议使用move_sympyplot_to_axes from this post.解决了这个问题,很遗憾,我无法使._backend正常工作,但是该解决方案足以满足我的目的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。