在sympy的plot语句中将'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,然后单击顶部的复选标记以交互方式设置标签,则将其正确放置在轴的中间。
指示程序以标签为中心的任何方式?
答案 0 :(得分:2)
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()
会)只使用sympy界面(所以不导入matplotlib.pyplot
)。如果您知道如何使用matplotlib,则可以更详细地操作图形和轴对象。