sympy.plotting.绘图奇怪的xlabel位置

2024-10-06 07:59:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当在Stryy的Trice语句中设置“xLabeld”为字符串值时,标签放置在图的最右边。如果程序中没有设置标签,我单击选中标记并在那里设置标签,它就位于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,并单击顶部的复选标记以交互方式设置标签,则会将其正确地放置在轴的中间。在

有没有办法让程序把标签放在中心?在


Tags: 字符串from标记import程序plot标签sin
1条回答
网友
1楼 · 发布于 2024-10-06 07:59: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')

image showing axis label centered below graph

这将把您的图形另存为test.png(参见图片)。如果您使用的是像jupyter这样的gui,您也可以通过调用fig来显示绘图,但在命令行界面中这将不起作用。我不知道有什么方便的方法来显示绘图(比如p1.show())只使用sympy接口(因此不需要导入matplotlib.pyplot)。但是,如果知道如何使用matplotlib,则可以更详细地操作地物和轴对象。在

相关问题 更多 >