微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

plotnine 直接颜色分配

如何解决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,[4,3.5,[1,4.0,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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。