我有一系列带有红色和蓝色标记的子图,我对红色标记最感兴趣,因此希望将它们放在图的前面:
数据结构如下:
SzT Pcp Pcp_3day Pcp_7day Pcp_10day Pcp_14day Pcp_21day Pcp_28day
date
2017-12-04 0.0 8.382 19.304 21.082 40.132 40.132 42.418 71.374
2017-12-05 0.0 12.192 20.574 33.020 42.164 52.324 52.578 81.534
2017-12-06 0.0 1.016 21.590 33.020 34.290 53.340 53.594 82.550
2017-12-07 0.0 12.700 25.908 45.466 46.990 66.040 66.040 95.250
2017-12-08 0.0 5.080 18.796 50.292 51.816 71.120 71.120 88.900
颜色由每个数据点所属的“SzT”值决定,即1或0(尽管在上面只显示“0”)。我用下面的代码构建了这个:
^{pr2}$我在别处找不到任何有用的信息。有什么想法吗?在
谢谢!在
更新:很抱歉原始结构不好,我已经添加了以上数据的结构供参考。在
一开始,如果不知道数据帧中数据的结构,就很难说出具体的东西,所以请考虑发布例如
RGDFT8mm.head()
也就是说,我至少从你的代码中看到,你在一个数据帧中混合了红色和蓝色的数据,而没有在散点图之前对其进行分组。因此,一个散射命令包含两种颜色,因此无法在前景中获得一种颜色。
如果重新构造,使每个散点命令只打印一种颜色,则每个散点都将绘制在前一种颜色之上,此外,您还可以根据自己的意愿使用
zorder
kwarg来定义每个数据集的层。在对于分组,您可以使用类似
RGDFT8mm.groupby('SzT')
-但是,为了从这里给出有用的提示,我宁愿等待确切地知道您的数据帧结构。但我的第一个猜测是:
编辑 澄清示例
^{pr2}$…为了减少打印
legend
的次数,可以在所有轴上循环在绘制所有子图之后。在
然而,与我的例子相比,你的图例都是相同的,因此一个图例代表整个图形会更好。只是为了这个而已
可修改的参数相同,如轴图例。在
只需设置散射点的alpha。类似下面的代码。当然,您可以使用alpha值。在
还有一个建议:使用plt.子批次()并在打印多个绘图时压缩。我觉得这很好也很有帮助。检查this
相关问题 更多 >
编程相关推荐