【发布时间】:2020-11-02 03:01:17
【问题描述】:
我已经看过一些关于此的帖子,但到目前为止没有一个有效。我有一个 pandas 数据框 wp_df(请原谅列格式错误,来自复制/粘贴,但你明白了):
wp game_seconds_remaining game_half
18906 0.901082 0.0 Overtime
18905 0.932920 22.0 Overtime
18904 0.688796 28.0 Overtime
18903 0.735589 32.0 Overtime
18902 0.730993 72.0 Overtime
... ... ... ...
18749 0.471634 3664.0 Half1
18748 0.513039 3702.0 Half1
18747 0.541705 3743.0 Half1
18746 0.541372 3776.0 Half1
18745 0.564195 3813.0 Half1
我使用 plt.plot() 从 wp_df['wp'] 绘制了一条散点图线,结果如下图:
为了视觉方便,我添加了一些水平线和垂直线。我想在 y = 0.50 处的红色散点图线和蓝色水平线之间的区域进行着色。 --> 请注意,我已经更改了 x 和 y 刻度。 X 范围从 wp_df['game_seconds_remaining] 的最大值(在本例中为 3813.0)到 0.0(x 轴翻转),y 范围从 0.0 到 1.0。
无论如何,我想在水平线的两侧以 0.50 对红色散点线和水平线之间的区域进行阴影处理,每个区域使用不同的颜色。我尝试为阴影的一侧选择plt.fill_between(wp_df['wp'], 0.50, color='blue'),但这没有成功。
对我如何完成这项工作有什么建议吗?
【问题讨论】:
-
您需要
fill_between的 x 值。也许plt.fill_between(wp_df['game_seconds_remaining'], wp_df['wp'], 0.50, color='blue', alpha=0.3)。 (添加 alpha 有助于使图表的颜色不会太浓。) -
很好,这很好,并填充在红线和 y=0.5 线之间。但是,它填满了这条线的两边。我是否需要将我的线分成 > 0.50 和
标签: python pandas matplotlib graph graphics