matplotlib数据框2列[日期,非数值数据]定义属性的堆叠条形图

问题描述 投票:0回答:1

背景:

我设法创建了以下图形,但是在某些元素上有困难

免责声明:

下面的图形是我想要实现的,但是我想将我的问题整合到图形中如果要获得所有日期的堆叠图形,还有其他方法,请随时与我分享代码] >

enter image description here

问题:

如何定义以下内容:

  • 使条变得更宽
  • 使y-axis个整数
  • date format%a %d/%b/%y(更改为x-axis
  • 定义图表大小(400 by 800)(这有点小,因为我认为日期已截止)
  • 向图表添加this is my chart标题
  • 在x和y轴上添加标签(this is x axisthis is y-axis)吗?
  • MWE:

import datetime as dt
import mysql.connector
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime


mycursor.execute(query)
data = mycursor.fetchall()

df = pd.DataFrame(data, columns=['date', 'Operation'])

df['date'] = pd.to_datetime(df.date)

all_dates = pd.date_range('2020-05-01','2020-05-31', freq='D').date

(pd.crosstab(df.date,df.Operation)
.reindex(all_dates)
.plot.bar(stacked=True, color=COLOR_LIST)
)

filename = "\\TEST_month_of_{}.png".format("May").lower()
plt.savefig(CURRENT_DIRECTORY + filename)
print("\n\nGenerated: {}".format(CURRENT_DIRECTORY + filename))

数据集:

print(df)产生以下内容:

date          Operation
2020-05-07        A
2020-05-08        B
2020-05-08        A
2020-05-12        A
2020-05-12        A
2020-05-12        B
2020-05-13        C
2020-05-13        A
2020-05-13        B
2020-05-14        A
2020-05-19        B
2020-05-21        A
2020-05-25        A
2020-05-26        B
2020-05-26        C
2020-05-26        A
2020-05-26        A
2020-05-29        A

背景:我已经成功创建了下面的图,但是在某些元素上遇到了困难。免责声明:下面的图是我想要实现的,但是我想集成我的...

python matplotlib stacked-chart
1个回答
0
投票
关于日期格式,由于地区不同,我无法做我想做的事。另外,增加条形宽度的唯一方法是减少数据数量,因此可以删除不必要的行。
© www.soinside.com 2019 - 2024. All rights reserved.