用 echatr 和 ggplot2 绘制甜甜圈图
Donut plot with echatr and ggplot2
我有以下数据,我需要制作一张类似于我在 tableau 中制作的图表
df<-data.frame(estado=c("Aprobado","Reprobado"),
freq=c(551,7),
porcentaje=c(0.99,1))
带有 echatr 的图表看起来像这样
df %>%
head() %>%
mutate(estado = row.names(.)) %>%
e_charts(estado) %>%
e_pie(freq, radius = c("50%", "70%")) %>%
e_title("Donut chart")
我不明白为什么我无法正确放置标签或标题。
用ggplot2我有以下方法
ggplot(df,aes(x=2,y=porcentaje, fill=estado))+
geom_bar(stat = "identity",
color="white")+
geom_text(aes(label=percent(porcentaje/100)),
position=position_stack(vjust=0.5),color="white",size=6)+
coord_polar(theta = "y")+
scale_fill_manual(values=c("salmon","steelblue"))+
theme_void()+
labs(title="Gráfico de Dona")+
xlim(0.5,2.5)
我不喜欢这张图的外观,它的色调看起来很差而且不美观,我正在寻找与我在 Tableau 中所做的结果相似的结果,即使带有中心标签也是如此
希望有人能告诉我如何更好地做到这一点,以便它的阴影在两个代码中的任何一个中都是正确的。
您可以通过更改 scale_fill_manual()
中的 values
参数来更改颜色。
可以使用 annotate()
将文本放在中间,设置 x = -Inf
和 y = -Inf
会将其放在中间。
library(ggplot2)
library(scales)
df<-data.frame(estado=c("Aprobado","Reprobado"),
freq=c(551,7),
porcentaje=c(0.99,1))
ggplot(df,aes(x=2,y=porcentaje, fill=estado))+
geom_bar(stat = "identity",
color="white")+
geom_text(aes(label=percent(porcentaje/100)),
position=position_stack(vjust=0.5),color="white",size=6)+
annotate(
"text", x = -Inf, y = -Inf, label = paste0("Total\n", sum(df$freq))
) +
coord_polar(theta = "y")+
scale_fill_manual(values=c("#75A1C7","#F9A655"))+
theme_void()+
labs(title="Gráfico de Dona")+
xlim(0.5,2.5)
由 reprex package (v2.0.1)
于 2022-05-23 创建
我有以下数据,我需要制作一张类似于我在 tableau 中制作的图表
df<-data.frame(estado=c("Aprobado","Reprobado"),
freq=c(551,7),
porcentaje=c(0.99,1))
带有 echatr 的图表看起来像这样
df %>%
head() %>%
mutate(estado = row.names(.)) %>%
e_charts(estado) %>%
e_pie(freq, radius = c("50%", "70%")) %>%
e_title("Donut chart")
我不明白为什么我无法正确放置标签或标题。
用ggplot2我有以下方法
ggplot(df,aes(x=2,y=porcentaje, fill=estado))+
geom_bar(stat = "identity",
color="white")+
geom_text(aes(label=percent(porcentaje/100)),
position=position_stack(vjust=0.5),color="white",size=6)+
coord_polar(theta = "y")+
scale_fill_manual(values=c("salmon","steelblue"))+
theme_void()+
labs(title="Gráfico de Dona")+
xlim(0.5,2.5)
我不喜欢这张图的外观,它的色调看起来很差而且不美观,我正在寻找与我在 Tableau 中所做的结果相似的结果,即使带有中心标签也是如此
希望有人能告诉我如何更好地做到这一点,以便它的阴影在两个代码中的任何一个中都是正确的。
您可以通过更改 scale_fill_manual()
中的 values
参数来更改颜色。
可以使用 annotate()
将文本放在中间,设置 x = -Inf
和 y = -Inf
会将其放在中间。
library(ggplot2)
library(scales)
df<-data.frame(estado=c("Aprobado","Reprobado"),
freq=c(551,7),
porcentaje=c(0.99,1))
ggplot(df,aes(x=2,y=porcentaje, fill=estado))+
geom_bar(stat = "identity",
color="white")+
geom_text(aes(label=percent(porcentaje/100)),
position=position_stack(vjust=0.5),color="white",size=6)+
annotate(
"text", x = -Inf, y = -Inf, label = paste0("Total\n", sum(df$freq))
) +
coord_polar(theta = "y")+
scale_fill_manual(values=c("#75A1C7","#F9A655"))+
theme_void()+
labs(title="Gráfico de Dona")+
xlim(0.5,2.5)
由 reprex package (v2.0.1)
于 2022-05-23 创建