#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. Это сработало! Большое спасибо за поддержку.