我使用散点图绘制了一些数据,并将其指定为:
plt.scatter(rna.data['x'], rna.data['y'], s=size,
c=rna.data['colors'], edgecolors='none')
并且rna.data对象是Pandas数据框架,其被组织成使得每行表示数据点(“x”和“y”表示坐标,“colors”是0-5之间的整数,表示点的颜色)。我将数据点分成6个不同的聚类,编号为0-5,并将聚类编号放在每个聚类的平均坐标处。
这将输出以下图形:
我想知道如何在这个图中添加一个图例,指定颜色和它对应的簇号。plt.legend()
要求样式代码的格式为red_patch
,但它似乎不接受数值(或数字字符串)。那么我如何使用matplotlib添加这个图例呢?有没有办法将我的数值颜色代码转换为plt.legend()
采用的格式?多谢了!
2条答案
按热度按时间agyaoht71#
可以使用颜色基于散点图的颜色Map和归一化,使用空图创建图例控制柄。
或者,您可以通过颜色列中的值过滤数据框,例如:使用groubpy,并为每个要素绘制一个散点图:
两种方法生成相同的图:
lnvxswe22#
Altair可以是一个很好的选择。
连续类
离散类