前言:
让我们粗暴地解决问题 !
在研究的路上,很多东西不是难的,但是就是没有人带而已,我不想其他人也走我走过的弯路。
如果有什么问题、需要R代码文件、示例数据集,欢迎在下方评论。
如果连学不来,没时间学,不介意地话就私信我,我来做吧,文章带上名字就好~
如图:
代码:
#简单数据散点图
x = c(20, 30, 40,10,55,37,77)
y = c(1, 2, 4, 5,2,3,4)
z = c(2,4,6,8,10,12,16)
df <- data.frame(x,y,z)
df
install.packages("ggplot2")
library(ggplot2)
#作图
# Give the chart file a name.
png(file = "gradient.jpg")
ggplot(data=df, aes(x=x, y=y, color=z))+geom_point(size=3)+
scale_color_gradient(low="lightblue", high="darkblue")
# Save the file.
dev.off()
#同理,基于连续性变量的大小,作出大小的区别
ggplot(data=df, aes(x=x, y=y, size=z))+geom_point(color="red")
#如果想更改legand的名字,最粗暴的方式是更改表头的名字
names(df) <- c("x", "y", "test")
df
ggplot(data=df, aes(x=x, y=y, size=test))+geom_point(color="red")
#当然也可以用其它名字代替(这个适用于自己构建数据集的情况)
df2 <- data.frame(a = x, b = y, c= z)
df2
ggplot(data=df2, aes(x=a, y=b, size=c))+geom_point(color="red")
失败的代码:scale_color_gradient函数不会识别分类变量的(注意每一个代码中参数的所适用的范围)
#失败的例子:分组如果是分类变量,scale_color_gradient函数是无法识别作图的
x <- c(20, 30, 40,10,55,37,77)
y <- c(1, 2, 4, 5,2,3,4)
z = c("f","m","f","m","f","m","f")
df <- data.frame(x,y,z)
df
data <- read.csv(file.choose())
data <- read.table(file.choose(),header = TRUE)
pairs(df[, c('x', 'y', 'z')])
视频链接:
https://www.bilibili.com/video/BV1Tf4y1d7EF/