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



我发现了这个包plotnine,它可以给出与Python中R的ggplot2相同的结果。这很有用,但我在用"label_1"one_answers"label_2"值的唯一"ID"着色时遇到了问题。颜色应该是可辨别的。它可以是从明亮的色调到最暗的色调。我的代码给出了一个非常接近我所希望的结果,但颜色仍然不够明显。我的图表现在没有使用我的颜色,但我想看看它是否也能工作。

# Generating 100 random colors for 100 values
from plotnine import *
import random as random
colors= lambda n: list(map(lambda i: "#" + "%06x" % random.randint(0, 0xFFFFFF), range(n)))
colors = colors(100)

ggplot(
musk_df) + geom_point(aes(x = 'label_1',y = 'label_2',fill = 'id'),alpha = 0.5) +labs(
title ='Graph',
x = 'label_1',
y = 'label_2',) +scale_fill_manual(
name = 'id',values = colors) +scale_fill_gradient(low="green",high="darkgreen") 

使用scale_fill_manual时,必须创建一个将fill元素和颜色关联起来的dict。对于距离:

color_dict = {'ID1': 'green', 
'ID2': 'red',...
...
'IDN': 'darkgreen'}

您必须使用id列的唯一值修改字典的键。这就行了。

相关内容

  • 没有找到相关文章

最新更新