[問題]geom_bar 的Y軸尺度問題

看板R_Language作者 (understand?)時間1年前 (2023/07/14 10:51), 編輯推噓2(204)
留言6則, 2人參與, 1年前最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我用ggplot2 畫長條圖,如果按照預設值可以順利畫出來,但是因為兩組資料數據相近 所以我想將Y軸尺度 從原先預設從0~600,改成400~600, 結果畫出來卻是空白畫布,資料不見 嘗試修改後仍是無果 只好請教各位高手幫忙 以下是我的程式碼 [程式範例]: data <- data.frame(yymm=c("202207","202307"),power = c(570.37,559.39)) ggplot( data, aes(x =factor(yymm) , y = power ,fill = yymm )) + geom_bar(position = "stack",stat="identity")+ scale_y_continuous(breaks = seq(400,600, 50),limits= c(400 ,600)) [環境敘述]: R 4.0.3 請提供 sessionInfo() 的輸出結果, 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.62.148 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1689303084.A.1F3.html

07/14 17:22, 1年前 , 1F

07/14 22:02, 1年前 , 2F
因為你的資料有在 c(400, 600) 這個範圍之外的數值,所以
07/14 22:02, 2F

07/14 22:03, 1年前 , 3F
ggplot會把在這範圍之外的資料排除掉
07/14 22:03, 3F

07/14 22:04, 1年前 , 4F
除了1F的解法外,也可以用coord_cartesian()
07/14 22:04, 4F

07/14 22:05, 1年前 , 5F
用 coord_cartesian(ylim=c(400,600)) 取代
07/14 22:05, 5F

07/14 22:05, 1年前 , 6F
scale_y_continuous(...) 的部份
07/14 22:05, 6F
文章代碼(AID): #1aiBWi7p (R_Language)
文章代碼(AID): #1aiBWi7p (R_Language)