我使用matplotlib来绘制数据。下面是一段代码,它做了类似的事情:
import matplotlib.pyplot as plt
f, ax = plt.subplots(1)
xdata = [1, 4, 8]
ydata = [10, 20, 30]
ax.plot(xdata, ydata)
plt.show(f)
这显示了图形中的一条线,y轴从10到30。虽然我对x范围很满意,但我想更改y范围,从0开始,并调整ymax以显示所有内容。
我目前的解决方案是:
ax.set_ylim(0, max(ydata))
但是我想知道是否有一种方法可以说:自动缩放但从0开始。
4条答案
按热度按时间vatpfxk51#
必须在绘图后设置范围。
如果
ymin
在绘图前被更改,这将导致范围为[0,1]。编辑:
ymin
参数已替换为bottom
:文件:https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_ylim.html
你可以在x轴上用left和right做同样的事情:
文件:https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xlim.html
3j86kqsm2#
试试这个
文档字符串如下:
iszxjhcz3#
请注意,
ymin
将在Matplotlib 3.2 Matplotlib 3.0.2 documentation中删除。使用bottom
代替:mec1mxoz4#
以下代码确保y值0始终出现在图中:
它也仅适用于负y数据值。最后一个参数(勾选步骤)可以删除。