在Python中,通过排序的唯一列值为ggplot2值着色

在Python中,通过排序的唯一列值为ggplot2值着色,python,plotnine,Python,Plotnine,我遇到了这个plotnine包,它可以给出与Python中R的ggplot2相同的结果。它非常有用,但是我有一个问题,就是用“label_1”和“label_2”的唯一“ID”给它们着色。颜色应该是可分辨的。它可以是从一种颜色的明亮阴影到最暗的阴影。我的代码给出了一个非常接近我所希望的结果,但颜色仍然不够清晰。我的图表现在没有使用我的颜色,但我想知道它是否也能工作 #为100个值生成100种随机颜色 从plotnine导入* 将随机导入为随机 colors=lambda n:list(映射(la

我遇到了这个plotnine包,它可以给出与Python中R的ggplot2相同的结果。它非常有用,但是我有一个问题,就是用“label_1”和“label_2”的唯一“ID”给它们着色。颜色应该是可分辨的。它可以是从一种颜色的明亮阴影到最暗的阴影。我的代码给出了一个非常接近我所希望的结果,但颜色仍然不够清晰。我的图表现在没有使用我的颜色,但我想知道它是否也能工作

#为100个值生成100种随机颜色
从plotnine导入*
将随机导入为随机
colors=lambda n:list(映射(lambda i:“#”+%06x”%random.randint(0,0xFFFFFF),range(n)))
颜色=颜色(100)
ggplot(
麝香df)+几何点(aes(x='标签1',y='标签2',填充='id'),α=0.5)+实验室(
title='Graph',
x=‘标签_1’,
y=‘标签2’,)+刻度填充手册(
名称='id',值=颜色)+比例\填充\渐变(低=“绿色”,高=“深绿色”)

使用
scale\u fill\u manual
时,必须创建一个dict,将
fill
元素与颜色关联起来。对于远程:

color_dict = {'ID1': 'green', 
              'ID2': 'red',...
              ...
              'IDN': 'darkgreen'}
您必须使用
id
列的唯一值修改字典的键。
这应该就可以了。

当使用
缩放填充\u手册
时,您必须创建一个dict,将
填充元素与颜色关联起来。对于远程:

color_dict = {'ID1': 'green', 
              'ID2': 'red',...
              ...
              'IDN': 'darkgreen'}
您必须使用
id
列的唯一值修改字典的键。 这应该能奏效