Re: [问题] 散布图中点颜色依照个数来呈现

楼主: andrew43 (讨厌有好心推文后删文者)   2021-10-19 17:40:26
先要请你确认如何决定个数;我以下假设个数是指同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 的版本和套件版本资讯,
: 让版友更容易找出错误
:
: [关键字]:
:
: 选择性,也许未来有用
:
作者: locka (locka)   2021-10-19 18:00:00
这种图满有意思的耶,谢谢A大,来玩玩看^^
楼主: andrew43 (讨厌有好心推文后删文者)   2021-10-19 18:43:00
我原本还以为用到二维kernel,但试了发现没有比较容易后来想想,原po也可能是希望资料预先网格化再算个数。有需要再回复。

Links booklink

Contact Us: admin [ a t ] ucptt.com