华夫饼图不显示一组

Waffle plot does not show one group

我使用 library(waffle)

得到了下图

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

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)

问题是你的第七类的价值太小了,无法出现在情节中。最后一个 non-labbeled 组简单地反映了 waffle 默认添加的“方块”以“填充”最后一列。

根据您要实现的目标,有多种选择:

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:
  2. 进行验证
waffle(ceiling(counts)) + scale_fill_tableau()

您可以使用 scale_fill_manual() 来获取您要查找的内容

library(ggthemes)
library(waffle)
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_manual(values = c("red", "blue", "green", "purple", "pink", "yellow", "orange", "blue"),
                    labels = counts_names, 
                    drop = TRUE)