我不确定这是否是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`"帮助!
发布于 2021-05-14 18:34:13
如果想要分配颜色,请使用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))

https://stackoverflow.com/questions/67528964
复制相似问题