控制从 ggplot2 中的因子变量生成的饼图中的刻度和奇数文本

Posted

技术标签:

【中文标题】控制从 ggplot2 中的因子变量生成的饼图中的刻度和奇数文本【英文标题】:Controlling ticks and odd text in a pie chart generated from a factor variable in ggplot2 【发布时间】:2016-02-06 14:14:37 【问题描述】:

我正在使用以下代码生成一个简单的饼图:

data(mtcars)
mtcars$fac_var <- as.factor(mtcars$cyl)
require(ggplot2); require(ggthemes)

# Chart
pie_test <- ggplot(mtcars, aes(x = factor(1), fill = fac_var)) +
  geom_bar(width = 1) +
  coord_polar(theta = "y") +
  ggtitle("Title") +
  theme_pander() +
  scale_fill_tableau(name = "Something") +
  theme(axis.title = element_blank())

代码生成如下图表:

我有兴趣对上面的图表进行两个小修改:

    我想去掉左边可见的数字1(下图中红色突出显示)。 我想让通向数字的线条更加明显(在下图中以黑色突出显示)

期望的变化:

【问题讨论】:

【参考方案1】:

1.) 去掉“1-” 将您的主题编辑为:

theme(axis.title = element_blank(),
      axis.ticks.y = element_blank(),
      axis.text.y = element_blank())

2.) 要更改线条,请将您的主题编辑为:

theme(axis.title = element_blank(), 
      axis.ticks.y = element_blank(),
      axis.text.y=element_blank(),
      panel.grid.major.y = element_line(size = 1, color="black", linetype = "solid"))

不是一个完美的解决方案,而是一个改进。饼图不是传达数据的最佳选择。您可能需要考虑条形图。如果您需要更多关于 ggplot2 饼图的帮助,请查看 this post。

【讨论】:

我同意饼图的一般适用性,但就手头的任务而言,我对生成饼图特别感兴趣。感谢您的回答。

以上是关于控制从 ggplot2 中的因子变量生成的饼图中的刻度和奇数文本的主要内容,如果未能解决你的问题,请参考以下文章