I'm working on a backlog chart since last year, and now with the new year,and now I'm facing this issue:
I had to multiply the number of the year to keep the X axis keep rolling to the right. But after that, I got this blanked interval on X axis from 202052 (concatenate year + week of the year number) until 202099~ .
My indexes doesn't have these values. As below :
(Int64Index([202026, 202027, 202028, 202029, 202030, 202031, 202032, 202033,
202035, 202036, 202037, 202038, 202040, 202041, 202043, 202044,
202045, 202046, 202047, 202048, 202049, 202050, 202051, 202052,
202101, 202102],
dtype='int64'),
Int64Index([202026, 202027, 202028, 202029, 202030, 202031, 202032, 202033,
202034, 202035, 202036, 202037, 202038, 202040, 202041, 202043,
202044, 202045, 202046, 202047, 202048, 202049, 202050, 202051,
202052, 202101, 202102],
dtype='int64'),
Int64Index([202026, 202027, 202028, 202029, 202030, 202031, 202032, 202033,
202034, 202035, 202036, 202037, 202038, 202040, 202041, 202043,
202044, 202045, 202046, 202047, 202048, 202049, 202050, 202051,
202052, 202101, 202102],
dtype='int64'))
How can I drop these values?
Thank you!
EDIT: Adding full code
import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime, timedelta
from matplotlib.lines import Line2D
import matplotlib.dates as mdates
import matplotlib.cbook as cbook
from matplotlib.ticker import MaxNLocator
%matplotlib inline
df = pd.read_csv(
"/home/eklon/Downloads/Venturus/NetSuite/Acompanhamento/130121/MelhoriasNetSuite130121.csv", delimiter=';')
df.columns = df.columns.str.replace(' ', '')
df['CreatedDate'] = pd.to_datetime(df['CreatedDate'])
df['CompletedDate'] = pd.to_datetime(df['CompletedDate'])
df['DayCompleted'] = df['CompletedDate'].dt.dayofweek
df['DayCreated'] = df['CreatedDate'].dt.dayofweek
df['WeekCreated'] = df['CreatedDate'].dt.isocalendar().week
df['WeekCompleted'] = df['CompletedDate'].dt.isocalendar().week
df['YearCreated'] = df['CreatedDate'].dt.year
df['YearCompleted'] = df['CompletedDate'].dt.year
df['firstCompletedDate'] = df.CompletedDate - df.DayCompleted * timedelta(days=1)
df['firstCreatedDate'] = df.CreatedDate - df.DayCreated * timedelta(days=1)
df['YearWeekCreated'] = df['YearCreated']*100 + df['WeekCreated']
df['YearWeekCompleted'] = df['YearCompleted']*100 + df['WeekCompleted']
df_done = df[df['Progress'] == 'Completed']
df_open = df[df['Progress'] != 'Completed']
df_todo = df[df['BucketName'] == 'To do']
df_doing = df[df['BucketName'] == 'Doing']
df_consult = df[df['BucketName'] == 'Em andamento RSM']
df_open['Priority'].value_counts().sort_index()
df['Priority'].sort_index()
df_backlog_created = df['YearWeekCreated'].value_counts().sort_index()
df_backlog_completed = df['YearWeekCompleted'].value_counts().sort_index()
df_backlog = df_backlog_created.cumsum() - df_backlog_completed.cumsum()
#============================================================================
qtd_created = df['YearWeekCreated'].value_counts().sort_index()
idx_created = qtd_created.index
qtd_completed = df['YearWeekCompleted'].value_counts().sort_index()
idx_completed = qtd_completed.index
qtd_backlog = df_backlog
idx_backlog = qtd_backlog.index
idx_completed = idx_completed.astype(int)
fig, ax = plt.subplots(figsize=(14,10))
#plt.figure(figsize=(14,10))
ax.plot(idx_created, list(qtd_created), label="Iniciadas", color="r")
ax.plot(idx_completed, list(qtd_completed), label="Completadas", color="y", linewidth=3)
ax.bar(idx_backlog, qtd_backlog, label="Backlog", color="b")
ax.legend(['Novas', 'Fechadas', 'Backlog'])
x=[1,2,3]
y=[9,8,7]
for a,b in zip(idx_created, qtd_created):
plt.text(a, b, str(b), fontsize=12, color='w', bbox=dict(facecolor='red', alpha=0.5), horizontalalignment='center')
for a,b in zip(idx_backlog, qtd_backlog):
plt.text(a, b, str(b), fontsize=12, color='w', bbox=dict(facecolor='blue', alpha=0.5), horizontalalignment='center')
for a,b in zip(idx_completed, qtd_completed):
plt.text(a, b, str(b), fontsize=12, color='black', bbox=dict(facecolor='yellow', alpha=0.5))
plt.title('Backlog', fontsize= 20)
Read more here: https://stackoverflow.com/questions/65702968/matplotlib-axes-only-with-values-on-pandas-dataframe
Content Attribution
This content was originally published by eklon at Recent Questions - Stack Overflow, and is syndicated here via their RSS feed. You can read the original post over there.