1

我想使用对数刻度在 x 轴上绘制日期,如下例所示,但我无法获得正确的间距:

阴谋

4

1 回答 1

0

刻度是对数刻度。这里的诀窍是将年份视为类别,而不是数字。我在这里使用了字符串来实现这种效果。

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'])

输出:

matplotlib 对数刻度年份

于 2021-09-08T10:52:57.473 回答