簡體   English   中英

使用 ggplot on R 使餅圖的邊界更平滑

[英]Making pie chart's borders smoother with ggplot on R

我執行了一個腳本,使用 ggplot 在 R 中獲取餅圖/甜甜圈圖。

這是我的腳本

    ggplot(dat1, aes(x = treatment, y = data, fill = group, color = treatment)) +
  geom_col(size=.8) +
  scale_color_manual(values=c("black", "gold3")) +
  scale_fill_brewer(palette="Paired") +
  coord_polar("y") +
  geom_text(aes(label = data), position = position_stack(vjust = 0.5), size =4, fontface="bold") +
  theme_void() +
  ggtitle ("Title") +
  theme(plot.title = element_text(hjust = 0.5, size = 25))

它的工作完全符合我的要求,除了邊框很糟糕,正如您在圖中看到的那樣,它似乎是自由手繪的。

圖表邊框

有什么辦法可以讓邊框更精確更平滑,像一個完美的圓?

感謝您一直提供的寶貴幫助和見解。

我只是將此添加為共享圖像的答案。 這不是因為 ggplot2 output。無論我導出的圖像有多大或多小,我都沒有得到 output 來反映你所擁有的。

是什么情況使您形成了自己的形象? 是RStudio的截圖嗎? 它是導出的圖像嗎? 是在 R Markdown 中嗎?

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

作為獲取可編輯版本的一種可能有用的方法,您可以嘗試export package(目前僅在 GitHub 上),它可以在 powerpoint 幻燈片中為您提供平滑的可編輯矢量圖像:

# devtools::install_github("tomwenseleers/export")
library(ggplot2)

df <- tibble::tribble(
  ~group, ~treatment, ~data,
     "A",        "q",    60,
     "B",        "q",    40,
     "C",        "q",     0,
     "D",        "q",     0,
     "E",        "q",     0,
     "F",        "q",     0,
     "G",        "q",     0,
     "H",        "q",     0,
     "I",        "q",     0,
     "K",        "q",     0,
     "L",        "q",     0,
     "J",        "q",     0,
     "A",        "w",    70,
     "B",        "w",    10,
     "C",        "w",     0,
     "D",        "w",     0,
     "E",        "w",     5,
     "F",        "w",     5,
     "G",        "w",     1,
     "H",        "w",     1,
     "I",        "w",     1,
     "K",        "w",     1,
     "L",        "w",     5,
     "J",        "w",     1
  )


g <- ggplot(df, aes(x = treatment, y = data, fill = group, color = treatment)) +
  geom_col(size=.8) +
  scale_color_manual(values=c("black", "gold3")) +
  scale_fill_brewer(palette="Paired") +
  coord_polar("y") +
  geom_text(aes(label = data), position = position_stack(vjust = 0.5), size =4, fontface="bold") +
  theme_void() +
  ggtitle ("Title") +
  theme(plot.title = element_text(hjust = 0.5, size = 25))

export::graph2ppt(g, "output_graph.pptx")
#> Exported graph as output_graph.pptx

reprex package (v2.0.1) 創建於 2022-03-17

暫無
暫無

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

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