Python MatPlotLib记号

2024-09-30 22:27:04 发布

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

请帮我找出这些记号。我已经为此工作了好几个小时,找不到解决办法。这组数据收集了1996-04年至2018年末各城市的平均房价。这是我的密码:

# Plotting Hot Springs housing value over time
fig=plt.figure(figsize=(20, 8), dpi= 80, facecolor='w', edgecolor='k')
ax=plt.axes
plt.plot(syrHST['71913'],color='blue')
plt.plot(syrHST['71901'],color='red')
plt.xticks(rotation='vertical', fontsize=20)
plt.ylabel('Average Housing Value', fontsize=20)
plt.gca().legend(('71913','71901'), fontsize=20, loc='upper left')
fig.suptitle('Hot Springs', fontsize=40)
plt.show()

下面是它向我展示的内容:

很明显,那些沿着x轴的记号标签是不好的。我需要找到一种方法来减少标签的数量到大约22个,这样他们可以读清楚。我试过旋转标签,但没用。请帮帮我。你知道吗


Tags: 数据密码plotfigplt标签color小时
2条回答

你的日期是字符串。因此,它们被解释为类别,每个类别都有自己的标签。您要做的是将它们转换为实际日期。你知道吗

df.index = pd.to_datetime(df.index)

如果从数据框中绘制一列,它会自动显示一些日期数(在大多数情况下,沿轴方向不超过9)。你知道吗

您可以使用如下方法将记号设置为np.arange的某个输出:

def aranger(cols, n_ticks):
    return np.arange(cols.min(), cols.max(), (cols.max()-cols.min())/n_ticks)

# Plotting Hot Springs housing value over time
fig=plt.figure(figsize=(20, 8), dpi= 80, facecolor='w', edgecolor='k')
ax=plt.axes
index = aranger(syrHST[['71913','71901']], 10)
plt.plot(syrHST['71913'],color='blue')
plt.plot(syrHST['71901'],color='red')
plt.xticks(index, rotation='vertical', fontsize=20)
plt.ylabel('Average Housing Value', fontsize=20)
plt.gca().legend(('71913','71901'), fontsize=20, loc='upper left')
fig.suptitle('Hot Springs', fontsize=40)
plt.show()

没有虚拟数据我无法测试,但这是我认为你可以用来解决这个问题的一般模式。你知道吗

相关问题 更多 >