r - 我可以自定义 ggplot 图例中的个人项目吗?

标签 r ggplot2 customization legend

是否可以制作不同字体的指南?我正在尝试绘制我的多变量数据,除了颜色代码之外,我还想将一些指南设为粗体。 这是一个可重现的例子

  library("ggpubr")
  library("reshape2")

iris.melt <- melt(iris)

ggboxplot(data = iris.melt, x = "variable", y= "value", add = "jitter",
          add.params = list(color = "Species"), legend = "bottom") +
theme(legend.text = element_text(face = "italic")) +
guides(col = guide_legend(override.aes = list(size=2), label.position = "bottom")) 

产生

iris boxplot

我试着只突出一个物种

ggboxplot(data = iris.melt, x = "variable", y= "value", add = "jitter",
          add.params = list(color = "Species"), legend = "bottom") +
theme(legend.text = element_text(face = c("plain","italic","plain")) +
guides(col = guide_legend(override.aes = list(size=2), label.position = "bottom"))

但“element_text() 的向量化输入不受官方支持。”

有没有办法自定义图例中的个别项目?

最佳答案

我不认为有办法单独设置主题组件,但有一个解决方法,即使用表达式作为标签。这样您就可以将任何单个标签设为粗体:

library("ggpubr")
library("reshape2")

iris.melt <- melt(iris)

one_bold_label <- expression("Setosa", bold(paste("Versicolor")), "Virginica")

ggboxplot(data = iris.melt, x = "variable", y= "value", add = "jitter",
          add.params = list(color = "Species"), legend = "bottom") +
  theme(legend.text = element_text(face = "italic")) +
  scale_colour_manual(labels = one_bold_label, values = c("#F8766D", "#00BA38", "#619CFF")) +
  scale_fill_manual(labels = one_bold_label, values = c("white", "white", "white"))

reprex package 创建于 2020-05-31 (v0.3.0)

关于r - 我可以自定义 ggplot 图例中的个人项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62120943/

相关文章:

r - (R) 将重要性星星添加到相关矩阵热图中

r - 如何使用 FactoMineR 创建双标图?

r - 具有晶格分组因子的多面板平滑

r - 在 R 上安装包

r - ggplot2 极坐标轴标签位置

jquery - 当在 Visual Studio for jquery 中输入 $( 时...它会自动转换为 $addHandler(

css - 自定义 GMail CSS 防止点击

R - 按重复值过滤矩阵

r - 更改 RMarkdown Word 输出中图形标题的字体大小

iphone - 为 iPhone 应用程序创建自定义 UITabBar 真的很酷吗?