我正在尝试绘制一段时间内比赛中球队的得分,以比较当时球队的最高得分和最低得分。我有一个working example with min & max as lines。
但是,我宁愿通过阴影区域显示最小值和最大值,有点像this picture,但不绘制最小值和最大值的平均值(蓝线)。
在Seaborn或matplotlib方面更有能力的人可以帮助我吗?
我尝试失败:
我偏爱使用Seaborn,因为它具有不错的“外观”,但是,我将尽一切努力。
图中显示的数据集
timestamp group score
4 1.563890e+09 13 0.000
0 1.563890e+09 min 0.000
0 1.563890e+09 max 100.000
4 1.563890e+09 13 0.000
0 1.563890e+09 min 0.000
0 1.563890e+09 max 99.675
4 1.563890e+09 13 0.000
0 1.563890e+09 min 0.000
0 1.563890e+09 max 99.675
0 1.563890e+09 13 39.101
0 1.563890e+09 min 0.000
0 1.563890e+09 max 74.573
0 1.563890e+09 13 39.101
0 1.563890e+09 min 37.853
0 1.563890e+09 max 74.573`
第一个屏幕截图的代码(记分板是较大的pandas数据框)
s = scoreboard[(scoreboard.group == 13) | (scoreboard.group == "max") | (scoreboard.group == "min")]
sns.lineplot(x="timestamp", y="score", hue="group", data=s, marker="o")
第二个屏幕截图的代码(记分板是较大的熊猫数据框)
s = scoreboard[(scoreboard.group == 13)]
s0 = scoreboard[(scoreboard.group == "max") | (scoreboard.group == "min")]
sns.lineplot(x="timestamp", y="score", data=s0, marker="o")
sns.lineplot(x="timestamp", y="score", data=s, marker="o")