我們如何在 Python 中為 relplot 設定 x-ticks 的數量?我們的圖表如下所示:

我們目前的圖表包含了 7 個以月為單位的日期,但我們希望所有月份都包含在 x-ticks 中。我們想將 x-ticks 的數量設定為 12,其中 x 軸標簽如下:
months = ['2020-01', '2020-02', '2020-03', '2020-04', '2020-05', '2020-06', '2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12']
以下是生成圖形的函式:
def create_lineplot(dataframe):
months = mdates.MonthLocator() # every month
years_fmt = mdates.DateFormatter('%Y-%m') # This is a format. Will be clear in Screenshot
# Filtering data to only select relevant columns and data from the year 2020
dataframe = dataframe[['dev_id', 'outside_temperature', 'datetime']]
dataframe["datetime"] = pd.to_datetime(dataframe["datetime"])
dataframe_2020 = dataframe[dataframe['datetime'].dt.year == 2020]
fig, axes = plt.subplots(figsize=(20, 2))
mdf = pd.melt(dataframe_2020, id_vars=['datetime', 'dev_id'], var_name=['Temperature'])
g = sns.relplot(data=mdf, x='datetime', y='value', kind='line', hue='Temperature', height=5, aspect=3)
g._legend.remove()
axes.xaxis.set_major_locator(months)
axes.xaxis.set_major_formatter(years_fmt)
axes.xaxis.set_minor_locator(months)
plt.xticks(rotation='vertical')
plt.tight_layout()
plt.legend(loc='upper left')
plt.savefig('lineplot.png')
plt.show()
我們的資料示例:

uj5u.com熱心網友回復:
代碼的主要問題是在使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374530.html
標籤:Python 数据框 matplotlib 海生
上一篇:如何繪制和注釋分組條
