簡體   English   中英

在“R”中制作圓形條形圖

[英]Making a Circular Barplot in 'R'

我正在嘗試重新創建這個圓形條形圖:

唯一的區別是數據、標簽以及我希望圖表上有 160 根柱線這一事實。 我已經查看了 R Graph Gallery 中的代碼,但我是一個完整的新手,不明白如何從他們擁有的變成我想要的。

在制作此條形圖或將我指向可以幫助我的地方的任何幫助將不勝感激

這是數據它顯示增加值每小時(£)

這種問題的問題在於,如果沒有看到您的數據,幾乎不可能展示您可以使用自己的數據集的解決方案。 用 160 條柱創建這樣的可視化當然是可能的,因為我可以用一些虛擬數據來展示:

set.seed(1)

df <- data.frame(x = as.factor(1:160), y = sort(runif(160))/2 + 0.5,
                 group = as.factor(sample(5, 160, TRUE)))

library(ggplot2)

ggplot(df, aes(x, y, fill = group)) + 
  geom_col(width = 0.5) + 
  geom_hline(yintercept = 0.25, color = "#0b192d", size = 0.1) +
  geom_hline(yintercept = 0.5, color = "#0b192d", size = 0.1) +
  geom_hline(yintercept = 0.75, color = "#0b192d", size = 0.1) +
  scale_y_continuous(limits = c(-0.5, 1)) +
  geom_text(label = "Average\nWorking Week\n(Hours)",
            x = 0, y = 0, color = "white", vjust = 1.7, size = 5,
            check_overlap = TRUE, fontface = "bold") +
  coord_polar() +
  theme_dark() +
  scale_fill_manual(values = c("#6a4199", "#ea5f3c", "#f69a40", 
                               "#2dbed3", "#ef0000")) +
  theme(panel.background = element_rect(fill = "#0b192d"),
        axis.text.x = element_text(colour = "white", size = 4),
        panel.grid = element_blank(),
        legend.position = "none",
        plot.background = element_rect(fill = "#0b192d"),
        axis.title = element_blank(),
        axis.text.y = element_blank())

在此處輸入圖片說明

如您所見,問題之一是要在此類圖周圍放置 160 個條形,文本標簽必須很小,因此無法讀取,除非您要將其打印在非常大(A2 或更大)的海報上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM