You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用scale_fill_gradientn设置地图图例的指定数值刻度

用scale_fill_gradientn自定义热力图图例间隔

完全可以通过scale_fill_gradientn实现你要的需求,只需要在函数里添加几个参数来指定刻度间隔和颜色映射比例就行。

修改后的代码如下:

volcano %>% reshape2::melt(varnames=c("x", "y")) %>% as_tibble() %>% 
  ggplot(aes(x,y, fill=value)) + geom_tile() + 
  scale_fill_gradientn(
    colours=hcl.colors(15, palette = "Purple-Green"), 
    limits=c(50,200),
    # 把指定数值转换成0-1的比例:(目标值-最小值)/(最大值-最小值)
    values = c(0, 1/6, 2/6, 3/6, 4/6, 5/6, 1),
    breaks = c(50,75,100,125,150,175,200),
    labels = c("50","75","100","125","150","175","200")
  )

参数说明:

  • values:这里把你要的间隔数值转换成0到1之间的比例(比如75对应的比例是(75-50)/(200-50)=1/6≈0.1667),这样颜色渐变会严格按照你指定的间隔来分配。
  • breaks:设置图例上要显示的刻度点,就是你指定的50、75这些数值。
  • labels:对应breaks显示文本标签,这里直接用数值字符串就行。

内容的提问来源于stack exchange,提问作者Velton Sousa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:45:31