Фон:
Мне удалось создать следующий график, но у меня возникли трудности с некоторыми элементами
Для чего это стоит:
По мере роста базы данных график будет иметь данные за 12 месяцев (ie 12 столбцов). Смысл этой диаграммы - дать помесячный сравнительный обзор операций A, B и C.
Заявление об ограничении ответственности:
Этот график ниже это то, чего я хочу достичь, однако я хотел бы интегрировать свои вопросы в график Если есть альтернатива получению составного графика со всеми датами, пожалуйста, поделитесь со мной кодом .
... and after 2 months of data the output will be
введите описание изображения здесь
Вопрос:
Как я могу определить следующее:
- Сделайте
y-axis
целыми числами - Измените
date format
(на %m %Y
) из x-axis
- Определите размер диаграммы (
400 by 800
) (он немного мал, поскольку я думаю, что даты обрезаются) - Добавить заголовок
this is my chart
к диаграмме - Добавить метки (
this is x axis
, this is y-axis
) к осям x и y?
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)
pd.crosstab(df.date.dt.to_period('M'),df.Operation).plot.bar(stacked=True, color=COLOR_LIST)
today = dt.date.today()
filename = "\\annual_{}.png".format(today.strftime("%b_%Y")).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