从去年开始,我一直在做积压工作表,现在是新年,现在我面临着这个问题:
我必须乘以一年中的数字,以保持X轴一直向右滚动。 但在那之后,我在X轴上得到了从202052年到202099年的这个空白区间
我的索引没有这些值。详情如下:
(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'))
如何删除这些值
谢谢大家!
编辑:添加完整代码
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)
这不是对代码的直接修复,但原则应该是相同的。 我将创建一个假数据帧,并说明问题和解决方案
当前的空空间问题:
建议的解决办法:
希望这对你有用。韩元
您要做的是称为索引绘制(只需将y值传递给} 。在以下示例中,每第4行设置一个勾号:
plot
,没有x值),因此应该使用^{另一种可能是使用^{} ,特别是如果您想缩放图表,因为它将动态格式化自动跟踪标记:
相关问题 更多 >
编程相关推荐