华夫饼图未显示一组

问题描述

我使用library(waffle)

得到下图

enter image description here

我的问题是姓氏组没有出现。我正在使用的代码如下

counts<-c(135.92,15.98,14.97,14.15,5.82,11.82,0.07 )
counts_names<-sprintf("%s (%s)",c("Coal","Gas","Wind","Hydro","Grid-scalar solar","Rooftop solar","Storage systems"),scales::percent(round(counts/sum(counts),4)))
names(counts)<-counts_names
Generation_graph<-waffle(counts)+ scale_fill_tableau(name=NULL)

我如何获得右边七个组的原始图形

更新:阅读其中的一条评论,我发现包括选项labels使我可以保留所有名称的原始图形。

Generation_graph<-waffle(counts)+ scale_fill_tableau(name=NULL,labels=counts_names)

解决方法

问题在于您的第七个类别的值很小,无法显示在绘图中。最后一个没有标签的组仅反映了默认情况下华夫饼添加的“正方形”,以“填充”最后一列。

根据要达到的目标,有几种选择:

library(waffle)
#> Loading required package: ggplot2
library(ggthemes)

counts<-c(135.92,15.98,14.97,14.15,5.82,11.82,0.07)
counts_names<-sprintf("%s (%s)",c("Coal","Gas","Wind","Hydro","Grid-scalar solar","Rooftop solar","Storage systems"),scales::percent(round(counts/sum(counts),4)))
names(counts)<-counts_names
  1. 您可以通过colors参数设置颜色。在这种情况下,最后一个类别将显示在图例中,而不显示在情节中。也。在这种情况下,最后一列将不被填充。
waffle(counts,colors = tableau_color_pal()(length(counts)))

  1. 可以使用ceiling()来代替原始数据。最后一个类别在图和图例中都得到体现。
waffle(ceiling(counts),colors = tableau_color_pal()(length(counts)))

  1. 最后,如果您要填写的最后一列可以使用ceiling(),请让waffle选择颜色,并用scale_fill_manual选择ovveride:
waffle(ceiling(counts)) + scale_fill_tableau()

,

您可以使用scale_fill_manual()来获取所需的内容

library(ggthemes)
library(waffle)
counts<-c(135.92,0.07 )
counts_names<-sprintf("%s (%s)",4)))
names(counts)<-counts_names
Generation_graph<-waffle(counts) + 
  scale_fill_manual(values = c("red","blue","green","purple","pink","yellow","orange","blue"),labels = counts_names,drop = TRUE)

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...