看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 各位前輩好,小弟正在整理實驗的資料進行論文撰寫, 數據的圖表主要以 ggplot2 進行繪製,在柱狀圖中想填充線條(直線/横線等), 因此使用 ggpattern 這個套件,在製做圖表的過程中,突然遇到無法做圖的問題, 特別是在使用 pattern = "magick" 時會出現 error, 刪掉這項或用其他圖形選項,就可以出圖,但又無法自訂填充 pattern, error message 的內容又不知如何修改… 想請教應如何解決這個問題,謝謝 [程式範例]: #使用套件 library(ggplot2) library(ggpattern) # 資料表單 # 表單項目包含 Group2, WPC, mean, SE a <- data.frame(Group2 = c("C", "C", "C", "C", "A1", "A1", "A1", "A1", "A1", "B1", "B1", "B1", "B1", "B1", "D", "D", "D", "D", "D"), WPC = c(-4, 0, 1, 3, -4, 0, 1, 2, 3, -4, 0, 1, 2, 3, -4, 0,1, 2, 3), mean = c(0.46600, 0.84100, 1.41200, 3.11100, -0.51725,0.11100, 0.00075, 1.12425, 2.17350, -0.19225, 0.83825,1.73100, 2.72275, 2.86675, -0.74175, 3.82575, 1.64250, 3.70875, 3.98275), SE = c(0.2234327, 0.1664126, 0.6513623, 0.4452928, 0.7768604, 0.8240675, 0.9581961, 1.2281746, 0.2186948, 0.2168496, 0.9284905, 0.9330518, 0.9475290, 0.2215267, 0.4349041, 1.7227386, 0.4133089, 0.5498973, 0.5349533)) # 作圖 ggplot(a, aes(factor(WPC), mean, gorup = Group2))+ geom_col_pattern(aes(pattern_type=Group2), pattern="magick", pattern_fill="black", pattern_color="black", fill="white", color="black", width = 0.5, position = position_dodge(0.5)) + scale_pattern_type_discrete(choices = c("vertical", "horizontal", "hs_vertical", "hs_horizontal")) # 錯誤訊息 Error in png(png_file, width = width, height = height) : invalid 'width' or 'height' 此外: Warning messages: 1: In png(png_file, width = width, height = height) : 'width=11, height=19' are unlikely values in pixels 2: In png(png_file, width = width, height = height) : 'width=11, height=4' are unlikely values in pixels 3: create_magick_pattern_img(): zero size 4: In FALSE : create_pattern_array(): Expecting a numeric RGBA array with dim = c(0, 11, 4) but instead got a "array" of type double with dimensions c(10L, 11L, 4L) [環境敘述]: R version 4.0.2 (2020-06-22) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19041) 相關套件版本 ggplot2_3.3.2 ggpattern_0.1.3 [關鍵字]: ggpattern -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.58.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1598156294.A.B5D.html ※ 編輯: vetvet (59.127.58.191 臺灣), 08/23/2020 12:47:05 ※ 編輯: vetvet (59.127.58.191 臺灣), 08/23/2020 13:01:17
locka: 你X軸打算放的是WPC還是Group2?問題應該是出在你dataframe 08/23 15:00
locka: 你X軸打算放的是WPC還是Group2?問題應該是出在你dataframe 08/23 15:05
locka: 沒有整理成正確的格式。https://i.imgur.com/V0v9DFp.jpg 08/23 15:06
locka: https://i.imgur.com/bD33BYE.jpg 08/23 15:07
locka: 要把wpc欄位填進去是可行的,可是wpc的類別數必須要跟Group 08/23 15:18
locka: 2的類別數一致。你資料裡wpc有5種可是Group2只有4種 08/23 15:18
謝謝 l大幫忙審視我的問題, 我是想要以 WPC 做為 x 軸,代表不同時間點的結果, 而實驗組別 A1 ~ D 則在每個時間點採樣測試, 最後完成圖應該會要是像這樣 (上週做的圖,是不同的觀測項目) https://imgur.com/cf4V6cO.jpg
但是在本週開始,由同一張資料表選不同檢測項目,做出來的平均值(mean), 卻沒辦法順利相似的圖形,所以覺得奇怪, 若單純把原本做圖碼中的 pattern = "magick" 刪除, 則又可以產出圖形,圖形中的數值是對的,但是填充內容無法更改, 我想是變成預設的 pattern = "stripe" https://imgur.com/kJ8Y5WG.jpg
如果是因為 WPC 和 Group2 類別數目不一樣的話, 我以為在不同的 pattern 下應該也無法順利產生圖形? 不過我明天會再仔細檢查一下原始的數據是否有問題的,謝謝 l大 幫忙,萬分感謝! ※ 編輯: vetvet (1.168.47.39 臺灣), 08/24/2020 00:16:09