首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ggplot2中使X轴标签、值标签和其他轴和标签粗体化。

在Ggplot2中使X轴标签、值标签和其他轴和标签粗体化。
EN

Stack Overflow用户
提问于 2022-11-24 17:49:05
回答 2查看 29关注 0票数 0

我在一个研究环境中工作,我不能复制粘贴我在那里使用的代码,但是我有previously generated this plot,并且得到了许多人的帮助,用计数号给它贴上标签。当我从研究环境中截取情节时,问题就出现了,而传说也是难以辨认的。我希望我可以通过使标签(包括X轴标签)都粗体来解决这个问题。

我在环境之外使用了一些模拟数据,到目前为止,这就是我所拥有的。

代码语言:javascript
复制
library(ggplot2)
library(reshape2)
md.df = melt(df, id.vars = c('Group.1'))
tmp = c("virginica","setosa","versicolor")
md.df2 = md.df[order(match(md.df$Group.1, tmp)),]
md.df2$Group.1 = factor(as.character(md.df2$Group.1), levels = unique(md.df2$Group.1))

ggplot(md.df2, aes(x = Group.1, y = value, group = variable, fill = variable)) +
  geom_bar(stat="identity",color='black', position = "dodge") +
  xlab('Species') + ylab('Values') + theme_bw()+
  ylim(0,8)+
  theme(text = element_text(size=16),
        axis.text.x = element_text(angle=0, hjust=.5),
        plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5))+
  ggtitle("Order variables in barplot")+
  geom_text(aes(label=value), vjust=-0.3, size=4, # adding values
            position = position_dodge(0.9))+ element_text(face="bold")

我需要将标签加在粗体上,而element_text之所以不能工作,主要是因为我可能用错了。如果能帮忙我会很感激的。

我还没有找到可以在外部环境中重新创建模拟数据的例子,have asked a question about in the past就是这样一个例子,在这个例子中,轴的刻度也需要粗体化。这是因为情节从外面看不清楚。

我尝试通过使用ggsave在300分辨率中保存我的所有情节来解决难以辨认的问题,但这是非常难以辨认的。

我很感谢你能在这方面提供帮助,并感谢你抽出时间来帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-24 18:13:23

正如我在注释中提到的,要使值标签粗体使用geom_text(..., fontface = "bold"),并使轴标签粗体使用axis.text.x = element_text(angle=0, hjust=.5, face = "bold")

使用基于a minimal reproducible example数据集的ggplot2::mpg

代码语言:javascript
复制
library(ggplot2)
library(dplyr)

# Create exmaple data
md.df2 <- mpg |>
  count(Group.1 = manufacturer, name = "value") |>
  mutate(
    variable = value >= max(value),
    Group.1 = reorder(Group.1, -value)
  )

ggplot(md.df2, aes(x = Group.1, y = value, group = variable, fill = variable)) +
  geom_col(color = "black", position = "dodge") +
  geom_text(aes(label = value), vjust = -0.3, size = 4, position = position_dodge(0.9), fontface = "bold") +
  labs(x = "Species", y = "Values", title = "Order variables in barplot") +
  theme_bw() +
  theme(
    text = element_text(size = 16),
    axis.text.x = element_text(angle = 90, vjust = .5, face = "bold"),
    plot.title = element_text(hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5)
  )

票数 2
EN

Stack Overflow用户

发布于 2022-11-24 21:13:44

除了@stefan的答案之外,您还可以设置勾号的长度和厚度如下:

代码语言:javascript
复制
## ... plot code +
    theme(## other settings ...,
          axis.ticks = element_line(linewidth = 5),
          axis.ticks.length = unit(10, 'pt'))

然而,无论在技术水平上如何优化,“表型条件”的例子可能仍然难以评估。在概念层面上,它可能有助于显示聚合,例如,每个频率的条件计数,并补充条件的文本列表(按字母和频率排序,或者反过来),供那些确实希望查找任何特定条件的读者使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74564625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档