如何修改ggplot2中stat_binhex生成的图例标题
问题原因说明
你之前的写法不生效有两个核心原因:
stat_binhex()对分箱计数的映射美学是fill(填充色)而非color(边框色),仅修改color配置不会生效guides()函数不能直接接收字符串作为图例名,需要指定对应引导组件的title参数,同时你认为无法使用scale系列函数的认知是错误的——只要不修改调色板相关参数,默认配色不会被更改。
可行解决方案
方案1:用labs() 直接指定fill美学的名称(最简便)
完全保留默认调色板,仅修改图例标题:
library(ggplot2) ggplot(DF,aes(x=x,y=y)) + stat_binhex() + labs(fill = "Point intensity")
方案2:用scale_fill_continuous() 修改
不调整配色相关参数时,和原生默认配色完全一致,后续也可以扩展调整色阶、配色范围:
ggplot(DF,aes(x=x,y=y)) + stat_binhex() + scale_fill_continuous(name = "Point intensity")
方案3:正确使用guides() 函数的写法
适合需要同时调整图例刻度、长度、位置等其他样式的场景:
ggplot(DF,aes(x=x,y=y)) + stat_binhex() + guides(fill = guide_colourbar(title = "Point intensity"))
内容的提问来源于stack exchange,提问作者Joezerz
相关产品推荐
相关产品推荐

