python - plotnine 直接颜色分配

标签 python r ggplot2 plotnine

我不确定这是 plotnine 中的功能,但我想专门为值分配颜色。

例如,如果我正在创建一个散点图

colors = {True:'#a54f7e', False:'grey'}  

(ggplot(df, aes(x = "col1", y="col2", color = "col3")) +
     geom_jitter(size = 3, color = colors)

所以在这种情况下,col3 将是 True/False 值,理想情况下我希望所有 True 值为 #a54f7e,所有 False 值为灰色。上面的代码没有运行并出现此错误:

PlotnineError: "'{True: 'red', False: 'blue'}' does not look like a valid value for `color`"

帮助!

最佳答案

如果你想分配颜色使用scale_color_manual:

import pandas as pd
from plotnine import *

data = [[1, 4.5,True], [2, 4.25,False], [3, 3.75,False],[4, 3.5,True],[1, 4.0,False],[2, 3.75,False],[3, 4.0,False],[4, 4.25,True]]

df = pd.DataFrame(data, columns = ['col1', 'col2','col3'])

colors = {True:'#a54f7e', False:'grey'}  

(ggplot(df, aes(x = "col1", y="col2", color = "col3")) +
     geom_jitter(size = 3) +
     scale_color_manual(values = colors))

enter image description here

关于python - plotnine 直接颜色分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67528964/

相关文章:

r - 根据字符串匹配过滤列表

从图例中删除特定标签

r - ggplot + 方面 : dropping factors with no data

r - autoplot 不接受 ts 对象

python - 如何展平 python 列表?输入是列表、字符串或整数

python - 'dict' 对象没有属性 'loads'

python - conda命令会提示错误: "Bad Interpreter: No such file or directory"

Python:为什么内联分配列表值会返回 "None"元素的列表?

r - 在 R : Unused arguments 中合并时出错

从多个列名称中删除第一个字符