最小和最大为阴影区域的Seaborn线图

时间:2019-07-23 16:56:16

标签: python seaborn

我正在尝试绘制一段时间内比赛中球队的得分,以比较当时球队的最高得分和最低得分。我有一个working example with min & max as lines

但是,我宁愿通过阴影区域显示最小值和最大值,有点像this picture,但不绘制最小值和最大值的平均值(蓝线)。

在Seaborn或matplotlib方面更有能力的人可以帮助我吗?

我尝试失败:

  • 完全停止计算最小值和最大值的平均线
  • 隐藏最小和最大平均线(例如,将其大小减小为0)
  • 根据this answer调整Seaborn的置信区间“ ci”

我偏爱使用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")

0 个答案:

没有答案