次のスタイルのプロットを再現するように依頼されました。(これが良いタイプの視覚化であるかどうかという質問は無視して、数値表にカラフルな要素を追加するものと慈善的に考えてください。)
そのほとんどは非常に簡単ですが、中心を中空にする良い方法をまだ見つけていません. 時間の都合上、目に見えないダミーデータを追加するという面倒なことに頼るかもしれません (他の人がそうしない場合は、そのアプローチを投稿しますが、テーマを変更する方法よりも最適ではないようです)。テーマベースのソリューションまたは非 ggplot2 R ソリューションはありますか?
私たちが真似しているもの
単純なggplot2の結果(望ましくない塗りつぶされた中央)
library(ggplot2)
# make sample dataframe
Category <- c("Electronics", "Appliances", "Books", "Music", "Clothing",
"Cars", "Food/Beverages", "Personal Hygiene",
"Personal Health/OTC", "Hair Care")
Percent <- c(81, 77, 70, 69, 69, 68, 62, 62, 61, 60)
internetImportance<-data.frame(Category,Percent)
# append number to category name
internetImportance$Category <-
paste0(internetImportance$Category," - ",internetImportance$Percent,"%")
# set factor so it will plot in descending order
internetImportance$Category <-
factor(internetImportance$Category,
levels=rev(internetImportance$Category))
# plot
ggplot(internetImportance, aes(x = Category, y = Percent,
fill = Category)) +
geom_bar(width = 0.9, stat="identity") +
coord_polar(theta = "y") +
xlab("") + ylab("") +
ylim(c(0,100)) +
ggtitle("Top Product Categories Influenced by Internet") +
geom_text(data = internetImportance, hjust = 1, size = 3,
aes(x = Category, y = 0, label = Category)) +
theme_minimal() +
theme(legend.position = "none",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_blank(),
axis.ticks = element_blank())
これらのデータを中空の中心でどのようにプロットできますか?