Pandas中使用ggplot标注系数与置信区间时图例不显示问题
问题原因
scale_color_manual仅对通过p.aes()做美学映射的颜色属性生效,你当前代码里geom_line、geom_pointrange、geom_errorbar的color都是直接写死的固定参数,没有纳入美学映射体系,因此无法触发图例生成,看不到系数和置信区间的对应标注。
调整后代码
pp = p.ggplot(leadslags_plot, p.aes(x='label', y='mean', ymin='lb', ymax='ub')) +\ p.geom_line(p.aes(group=1, color='coeff')) +\ p.geom_pointrange(p.aes(color='coeff'), size=0.5) +\ p.geom_errorbar(p.aes(color='95% CI'), width=0.2) +\ p.scale_color_manual( name="label:", values={'coeff':'b', '95% CI':'r'}, labels={'coeff':'coeff', '95% CI':'95 percent CI'} ) +\ p.theme("bottom") +\ p.xlab("Years before and after ") +\ p.ylab("value ") +\ p.geom_hline(yintercept=0, linetype="dashed") +\ p.geom_vline(xintercept=0, linetype="dashed")
关键改动说明
- 将系数对应的折线、点范围层的
color参数移入p.aes(),统一映射为coeff标签 - 将置信区间对应的误差棒层的
color参数移入p.aes(),映射为95% CI标签 scale_color_manual中通过字典明确映射标签和对应颜色,避免自动匹配错位,保证图例显示的文字、颜色和图中元素一一对应
内容的提问来源于stack exchange,提问作者Jui Sen
相关产品推荐
相关产品推荐

