簡體   English   中英

在 Seaborn 中格式化時間序列軸

[英]Formatting time series axis in Seaborn

我正在學習 Seaborn 並試圖弄清楚如何為一年中的日期格式化 X 軸,以便它可讀。 假設我們有一個 dataframe 保存全年每一天的天氣測量值(365 行)。

sns.scatterplot(x = df_weather["DATE"], y = df_weather["MAX_TEMPERATURE_C"], color = 'red')
sns.scatterplot(x = df_weather["DATE"], y = df_weather["MIN_TEMPERATURE_C"], color = 'blue')
plt.show()

在此處輸入圖像描述

如何確保 X 軸標簽可讀? 理想情況下,每月一台 label 就可以了。

謝謝!

不太確定您的列日期是什么樣的,但也許可以嘗試下面的方法,首先生成一些數據,我將日期作為字符串,我猜這與您的類似:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

DATE = pd.date_range('2020-01-01', periods=365, freq='D').strftime('%y%y-%m-%d')
MIN = np.random.uniform(low=10,high=25,size = len(index))
MAX = MIN + np.random.uniform(low=5,high=10,size =len(index))
df = pd.DataFrame({'DATE':DATE,'MIN':MIN,'MAX':MAX})

Plot 就像你使用 sns 一樣:

fig, ax = plt.subplots(figsize = (10,4))

ax = sns.scatterplot(x = "DATE", y = "MAX",data=df, color = 'red')
ax = sns.scatterplot(x = "DATE", y = "MIN",data=df, color = 'blue')

現在我們定義第 mths 的開始來定義刻度:

mths = pd.date_range('2020-01-01', periods=12, freq='MS')

ax.set_xticks(mths.strftime('%y%y-%m-%d'))
ax.set(xticklabels=mths.strftime('%b'))
plt.show()

它應該看起來不錯:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM