在 Python 的地块上绘制特定标记
Plot specific markers on plot in Python
我有一个图,其中 x 轴时间和 y 轴值以百分比表示。该图是根据数据帧输出绘制的。因为我需要查看许多图,所以最好插入一些不同颜色的指针。
例如,每个图表从 08:00 开始时间线并在 20:00 结束。我需要在 12:00.
处使用红色标记
我试过以下方法:
graph_df
是一个包含两列的 df:一列包含时间,一列包含百分比数据。
df = graph_df.loc[graph_df['time'] == "12:00"]
graph_df.plot(x="time", y="percentage", linewidth=1, kind='line')
plt.plot(df['time'], df['percentage'], 'o-', color='red')
plt.show()
plt.savefig(graph_name)
如果我使用这部分代码,我会以 12:00 的正确百分比获取标记,但总是在时间线的开头。在我的例子中,红点标记在 08:00,但关联的百分比正确。
知道为什么它没有正确标记吗?
谢谢。
将字符串转换为日期时间对象应该可行。
用
替换你的第一行
graph_df["time"] = pd.to_datetime(graph_df["time"]).dt.time
df = graph_df[graph_df["time"].apply(lambda time: time.strftime("%H:%M"))=='12:00']
应该做这份工作
我有一个图,其中 x 轴时间和 y 轴值以百分比表示。该图是根据数据帧输出绘制的。因为我需要查看许多图,所以最好插入一些不同颜色的指针。 例如,每个图表从 08:00 开始时间线并在 20:00 结束。我需要在 12:00.
处使用红色标记我试过以下方法:
graph_df
是一个包含两列的 df:一列包含时间,一列包含百分比数据。
df = graph_df.loc[graph_df['time'] == "12:00"]
graph_df.plot(x="time", y="percentage", linewidth=1, kind='line')
plt.plot(df['time'], df['percentage'], 'o-', color='red')
plt.show()
plt.savefig(graph_name)
如果我使用这部分代码,我会以 12:00 的正确百分比获取标记,但总是在时间线的开头。在我的例子中,红点标记在 08:00,但关联的百分比正确。
知道为什么它没有正确标记吗?
谢谢。
将字符串转换为日期时间对象应该可行。 用
替换你的第一行graph_df["time"] = pd.to_datetime(graph_df["time"]).dt.time
df = graph_df[graph_df["time"].apply(lambda time: time.strftime("%H:%M"))=='12:00']
应该做这份工作