我正在使用matplotlib.pyplot
绘制散点图。以下代码生成的散点图与此请求不匹配。
months = []
data = [...] #some data in list form
#skipping the 8th value since I don't want data to refer at this value
for i in [x for x in range(1, len(data) +2) if x != 8]:
months.append(i)
fig, ax = plt.subplots()
plt.scatter(months,data)
plt.scatter([months[-1]],[data[-1]], color=['red'])
plt.title('Quantity scatterplot')
ax.set_xlabel('Months')
ax.set_ylabel('Quantities')
ax.legend(['Historical quantities','Forecasted quantity'], loc=1)
plt.show()
虽然我想在x轴上看到所有月份(从1到10)
答案 0 :(得分:2)
强制所有1到10之间的数字在x轴上显示为勾选标签的最简单方法是使用
ax.set_xticks(range(1,11))
对于更常见的情况,如果未在前端确定轴限制,则可以使用matplotlib.ticker.MultipleLocator
在整数位置获取刻度标记。
ax.xaxis.set_major_locator(matplotlib.ticker.MultipleLocator(1))
其中1
是所有刻度应为其倍数的数字。