看板 R_Language 關於我們 聯絡資訊
先要請你確認如何決定個數;我以下假設個數是指同x同y列的列數。 你可以先生成一個濃縮的資料框並計算個數,再用它來畫圖。 library(readxl) library(ggplot2) library(dplyr) testdata <- read_excel("testdata.xlsx")[, 1:2] d.by.x.y <- testdata %>% # 按同oldsensor且同newsensor分組求N group_by(oldsensor, newsensor) %>% summarise( oldsensor = mean(oldsensor), newsensor = mean(newsensor), #mean在此例沒有特別意義,就只是取出值 N = n()) %>% # 列順序按N大小,對之後畫圖有重要效果(讓深色在上層而淺色在下層) arrange(N) ggplot(d.by.x.y, aes(newsensor, oldsensor)) + geom_point(aes(color = N), shape = 15, size = 2) + # size 大一點會比較「滿」 coord_fixed() + geom_abline(slope = 1, intercept = 0) + scale_colour_steps(low = "#fef0d9", high = "#d7301f", breaks = seq(0, 30, 1)) + theme_classic() + theme(legend.key.size = unit(1.5, "cm")) + xlim(c(24, 32)) + ylim(c(24, 32)) 結果: https://i.imgur.com/YUTWPuA.png
※ 引述《studioA (understand?)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 我想畫一張散佈圖,其中每個點的顏色呈現,以個數為基準 : 我想要圖片呈現如下 : https:// i.imgur.com/kRXLERk.png : 我用ggplot2來繪製,但總是畫不出自已要的效果 : 不知道哪裡卡關 只好上來求助各位 : [程式範例]: : setwd("D:/R_workspace") : library(readxl) : testdata <- read_excel("test.xlsx") : library(ggplot2) : my.plot1 <- ggplot(testdata, aes(newsensor,oldsensor, colour = oldsensor)) + : geom_point() : my.plot1 : 結果出現 這種圖 https:// i.imgur.com/vZaVGSv.png : 參考檔案 放在 ppt.cc/fAmkbx : [環境敘述]: : 請提供 sessionInfo() 的輸出結果, : 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, : 讓版友更容易找出錯誤 : : [關鍵字]: : : 選擇性,也許未來有用 : -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.222.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1634636428.A.397.html
locka: 這種圖滿有意思的耶,謝謝A大,來玩玩看^^ 10/19 18:00
andrew43: 我原本還以為用到二維kernel,但試了發現沒有比較容易 10/19 18:43
andrew43: 後來想想,原po也可能是希望資料預先網格化再算個數。 10/19 18:50
andrew43: 有需要再回覆。 10/19 18:50