当在绘图语句中将'xlabel‘设置为字符串值时,标签放置在图形的最右边。如果标签没有在程序中设置,而我单击复选标记并在那里设置标签,则它位于X轴的中间。
下面是一个例子:
from sympy import sin
from sympy import symbols
from sympy.plotting import plot
x = symbols('x')
y = sin(x)
p1=plot(y,(x,0,7),xlabel="x data")
p2=plot(y,(x,0,7))图1的X轴标签位于最右边.如果您打开图2,并单击顶部的复选标记以交互地设置标签,它将它正确地放置在轴的中间。
有什么方法可以指示程序把标签放在中心吗?
发布于 2017-10-30 14:01:05
Sympy用于绘图的matplotlib的实现非常方便,但与完整的matplotlib功能相比,它非常有限。如果要更改轴上的标签位置,则需要从绘图中访问后端ax对象。以下是如何做到这一点:
fig = p1._backend.fig
ax = p1._backend.ax
ax.xaxis.set_label_coords(0.5,0)
fig.savefig('test.png')

这将将您的图形保存为test.png (见图)。如果您使用像jupyter这样的gui,也可以通过调用fig来显示情节,但是在命令行接口中,这是行不通的。我不知道有什么方便的方法来显示图(就像p1.show()那样),只使用渐近接口(所以不导入matplotlib.pyplot)。但是,如果您知道如何使用matplotlib,则可以更详细地操作图和轴对象。
https://stackoverflow.com/questions/28077740
复制相似问题