使用 matplotlib 在 x 轴上将年作为对数刻度
Years as a logarithmic scale on the x-axis with matplotlib
我想使用对数刻度在 x 轴上绘制日期,如下例所示,但我无法获得正确的间距:
刻度为对数刻度。这里的技巧是将年份视为类别,而不是数字。我在这里使用了字符串来实现这种效果。
df = pd.DataFrame({'year': map(str, range(2010, 2045)), # years as strings
'value': 1 # dummy data here
})
ax = df.plot(x='year', y='value', marker='.')
ax.set_xscale('log')
ax.set_xticks(range(1,35+1), rotation='vertical') # categories start from 1
ax.set_xticklabels(df['year'])
输出:
我想使用对数刻度在 x 轴上绘制日期,如下例所示,但我无法获得正确的间距:
刻度为对数刻度。这里的技巧是将年份视为类别,而不是数字。我在这里使用了字符串来实现这种效果。
df = pd.DataFrame({'year': map(str, range(2010, 2045)), # years as strings
'value': 1 # dummy data here
})
ax = df.plot(x='year', y='value', marker='.')
ax.set_xscale('log')
ax.set_xticks(range(1,35+1), rotation='vertical') # categories start from 1
ax.set_xticklabels(df['year'])
输出: