Pyplot-自动将x轴范围设置为传递给绘图功能的最小、最大x值

2024-05-05 23:41:57 发布

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

我正在使用类似于以下的方法创建绘图:

import pyplot as plt

for x_list in x_list_of_lists:
   plt.plot(y_list, x_list)

plt.show()

x轴的范围似乎设置为传递给plt.plot()的第一个x值列表的范围。有没有办法让pyplot自动将x轴的下限设置为传递给它的所有x_列表变量中的最低值(加上一点回旋余地),并让它使用传递给plot的最高x值(加上一点回旋余地)对上限执行相同的操作?谢谢您。


Tags: of方法inimport绘图列表forplot
1条回答
网友
1楼 · 发布于 2024-05-05 23:41:57

令人困惑的是,您的y_list包含沿x-axis绘制的值。如果希望matplotlib使用x_list中的值作为x-coordinates,则应该调用

plt.plot(x_list, y_list)

也许这就是你问题的根源。 默认情况下,matplotlib设置的xy限制足够大,可以包含所有绘制的数据。

因此,通过此更改,matplotlib现在将使用x_list作为x-coordinates,并将自动将x-axis的限制设置为足够宽,以显示x_list_of_lists中指定的所有x-coordinates


但是,如果希望调整x限制,可以使用plt.xlim function

因此,要将x-axis的下限设置为所有x_list变量中的最低值(与上限类似),您需要执行以下操作:

xmin = min([min(x_list) for x_list in x_list_of_lists])-delta
xmax = max([max(x_list) for x_list in x_list_of_lists])+delta
plt.xlim(xmin, xmax)

确保将这个放在所有对plt.plot的调用之后,当然也放在plt.show()之前。

相关问题 更多 >