控制从 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 中的因子变量生成的饼图中的刻度和奇数文本的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化百分比显示实战:纵轴显示为百分比在柱状图上显示百分比按照因子变量绘制分组子图(纵轴显示为百分比)可视化图中显示数据百分比

ggsubplot (ggplot2) 中的饼图

ggplot2 中图例的自定义顺序,因此它与图中因子的顺序不匹配

ggplot2() 按因子绘制一个变量与自身的关系?

R语言可视化包ggplot2包通过因子变量设置图像颜色实战

在ggplot2中制作没有轴编号/刻度的饼图