ggplot2 с использованием coord_polar () _ наблюдаемая ошибка

#r #ggplot2 #polar-coordinates

Вопрос:

Я пытаюсь нарисовать круговую диаграмму с помощью ggplot2, используя coord_polar. Однако я получаю сообщение об ошибке, как показано ниже.

Ошибка в уникальном.по умолчанию(x, nmax = nmax) : unique() применяется только к векторам

Ниже приведен код, который я использовал.Может ли кто-нибудь, пожалуйста, сообщить, в чем причина этой ошибки

 freqtable lt;- table(worms$Vegetation) df lt;- as.data.frame.table(freqtable) colnames(df)lt;-c("Vegetation","Frequency") pielt;- ggplot(df, aes(x = "", fill = factor(class)))   geom_bar(width = 1)   theme(axis.line = element_blank(),plot.title = element_text(hjust=0.5))   labs(fill="class",x=NULL, y=NULL, title="Pie Chart of Vegetation", caption="Source: Worms") pie coord_polar(theta = "y", start=0)  

Спасибо и с уважением, Рахим

Ответ №1:

Скажите, что ваш фрейм данных выглядит так:

 worms = data.frame(Vegetation=sample(letters[1:4],100,replace=TRUE))  as.data.frame.table(table(worms$Vegetation))  Var1 Freq 1 a 22 2 b 30 3 c 21 4 d 27  

Вам не нужно составлять таблицы, просто укажите категорию в качестве аргумента для fill = :

 ggplot(worms, aes(x = "", fill = Vegetation))   geom_bar(width = 1)    theme(axis.line = element_blank(),plot.title = element_text(hjust=0.5))    coord_polar(theta = "y", start=0)   labs(fill="class",x=NULL, y=NULL, title="Pie Chart of Vegetation", caption="Source: Worms")  

введите описание изображения здесь

Комментарии:

1. Это сработало! Большое спасибо за поддержку.