如何设置坐标轴范围

684 投票
10 回答
1728797 浏览
提问于 2025-04-16 04:30

我需要帮助来设置matplotlib中y轴的范围。下面是我尝试过的代码,但没有成功。

import matplotlib.pyplot as plt

plt.figure(1, figsize = (8.5,11))
plt.suptitle('plot title')
ax = []
aPlot = plt.subplot(321, axisbg = 'w', title = "Year 1")
ax.append(aPlot)
plt.plot(paramValues,plotDataPrice[0], color = '#340B8C', 
     marker = 'o', ms = 5, mfc = '#EB1717')
plt.xticks(paramValues)
plt.ylabel('Average Price')
plt.xlabel('Mark-up')
plt.grid(True)
plt.ylim((25,250))

根据我这次绘图的数据,y轴的范围是20到200。不过,我想把范围改成20到250。

10 个回答

154

另一种解决方法是获取图表的坐标轴,然后只改变y轴的数值。

x1,x2,y1,y2 = plt.axis()  
plt.axis((x1,x2,25,250))
187

你可以自己设置坐标轴的范围,方法是使用 matplotlib.pyplot.axis

matplotlib.pyplot.axis

from matplotlib import pyplot as plt
plt.axis([0, 10, 0, 20])

这里的 0,10 是 x 轴的范围。

0,20 是 y 轴的范围。

另外,你也可以使用 matplotlib.pyplot.xlimmatplotlib.pyplot.ylim 来设置范围。

matplotlib.pyplot.ylim

plt.ylim(-2, 2)
plt.xlim(0,10)
971

通过 plt.gca() 获取当前的坐标轴,然后设置它的范围:

ax = plt.gca()
ax.set_xlim([xmin, xmax])
ax.set_ylim([ymin, ymax])

撰写回答