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

ggplot图例定位与样式修复:左上角放置及样式调整需求

ggplot2图例问题修正方案

问题修正点说明

  • 图例位置与边距:通过调整边距参数,确保图例固定在绘图区左上角,与顶部、左侧保持5像素间距
  • 图例框样式修复:增大边框宽度并添加内部填充,让背景色和边框正常显示
  • 图例项水平排列:通过图例引导参数设置行数为1,配合方向参数实现横向排列

修正后完整代码

library(ggplot2)
library(scales)

col_define = c('red', 'orange', 'blue', 'lightblue', 'green')
names(col_define) = unique(diamonds$cut)

ggplot(diamonds, aes(color)) +
  geom_bar(aes(fill = cut)) +
  scale_fill_manual(
    values = col_define,
    breaks = names(col_define),
    guide = guide_legend(nrow = 1)
  ) + 
  theme(
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    # 图例定位与边距
    legend.position = c(0, 1),
    legend.justification = c(0, 1),
    legend.margin = margin(t = 5, l = 5, b = 5, r = 5, unit = "pt"),
    legend.box.margin = margin(t = 0, l = 0, unit = "pt"),
    # 图例项排列与框样式
    legend.direction = "horizontal",
    legend.box = "horizontal",
    legend.box.background = element_rect(
      fill = alpha('#7f7f7f', 0.2),
      color = "#595959",
      size = 1,
      linetype = "solid"
    ),
    legend.box.padding = margin(2, 2, 2, 2, unit = "pt"),
    axis.text.x = element_text(angle = 30, hjust = 1)
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:45:55