我有一个dataframe,它报告了调用了多少次。我已经按报告和日期总结了它。现在,当我用matplotlib绘制整个事情时,我总是有太多的日期显示。
记录示例(报告名称、日期、计数):
8 ADOSperrenVK.avx" 2023-04-17 7278
9 ADOSperrenVK.avx" 2023-04-18 4591
我的代码(从数据导入不在代码中):
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
# Datum konvertieren
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
# Nur das Datum extrahieren
df['Date'] = df['TimeStamp'].dt.date
# Gruppieren nach Report und Datum und zählen
df_grouped = df.groupby([df['Report'], df['Date']]).size().reset_index(name='count')
# Top 10 Berichte auswählen
top_10_reports = df_grouped.groupby('Report').sum().nlargest(10, 'count').index.values
df_top_10 = df_grouped[df_grouped['Report'].isin(top_10_reports)]
unique_reports = df_top_10['Report'].unique().tolist()
# Schleife über die Berichte und Erstellung der Plots
for report in unique_reports:
# DataFrame für den aktuellen Bericht erstellen
df_report = df_top_10[df_top_10['Report'] == report]
# Plot erstellen
x = pd.to_datetime(df_report['Date'])
y = df_report['count']
plt.bar(x, y)
plt.title(report) # Titel für den Plot setzen
plt.xlabel('Date') # x-Achsenbeschriftung setzen
plt.ylabel('Count') # y-Achsenbeschriftung setzen
plt.xticks(rotation=45) # X-Achsenbeschriftungen um 45 Grad drehen
plt.show() # Plot anzeigen
结果是这样的
我需要做什么,我在x轴上只有2个条目(示例中的2023-04-17和2023-04-18)?
1条答案
按热度按时间2mbi3lxu1#
使用
Pandas
绘制条形图,否则Matplotlib
尝试使用AutoLocator
推断xlabel类型:输出
温馨提示
使用
groupby
代替unique