我需要按日期绘制错误(这是每周测量的),并为特定日期添加一些垂直线。我的数据如下所示:
我试过:
import matplotlib.pyplot as pylt
pylt.xticks(rotation=90)
pylt.plot_date(det.dia_corte_fin_prediccion, det.avg_error_diario_semana, fmt='o',
tz=None, xdate=True, ydate=False)
fechas=list(det['fecha_baja'].unique())
fechas=[x for x in fechas if str(x) != 'nan']
for i in fechas:
pylt.axvline(i, color='black')# esta fecha deberia ser unica
fechas=list(det['fec_ultima_fecha_creacion_sol_baja_anterior'].unique())
fechas.extend( list(det['fec_primera_fecha_creacion_sol_baja_posterior'].unique()))
fechas=[x for x in fechas if str(x) != 'nan']
for i in fechas:
pylt.axvline(i, color='blue',zorder=0)
但我得到一个垂直线位置不正确的图:
我还将列的类型更改为datetime,但仍然遇到相同的问题:
columnas=det.filter(like='fec', axis=1).columns
for i in columnas:
det[i]=pd.to_datetime(det[i])
问题是,如果日期不在轴上,它将在末尾绘制它
所以现在我需要创建轴中的所有日期来避免这个问题。我该怎么做
谢谢
我认为正确的方法是将绘图类型更改为分散: 这样,它将在正确的位置添加日期,如果需要,在提供的原始日期之间添加日期,而不是在末尾添加日期
相关问题 更多 >
编程相关推荐