Excel中支持了很好的多维度散点图,如上图所示,那么在R中,如何画出多维度散点图呢?
我们先来分解一下这个需求:
1、以(X,Y)确定散点位置,Z确定散点大小;
2、每组数据用不同标识符标记;
3、绘制内框,距X,Y边缘5个单位;
好,我们来看看如何使用R来实现以上功能。
测试数据如下:
x1,y1,z1
22,31,5
32,33,6
11,42,6
10,26,7
40,13,8
代码如下:
data <- read.csv("D:\\R\\1.csv", sep=",")
f <- factor(data[, 3])
#不同形状
plot(data[, 1:2], pch=data[,3], xlim=c(0, 50), ylim=c(0, 50))
legend(
"topright",
levels(f),
pch=as.numeric(levels(f)),
title="形状"
);
![](http://i3.tietuku.com/3a0bc02aee22ad50.png)
#形状大小
plot(data[, 1:2], cex=data[,3], xlim=c(0, 50), ylim=c(0, 50))
![](http://i3.tietuku.com/79aa62ac1e72d083.png)
#画矩形
#x1, y1, x2, y2
#其中,(x1, y1)为左下角坐标,(x2, y2)为右上角坐标
rect(5, 5, 10, 10)
![](http://i3.tietuku.com/088a5c6edd1bfc4f.png)
![[每日一答] [20151021] R如何制作多维度散点图](http://i3.tietuku.com/7d2c5d5ba6f79a81.png)
Excel中支持了很好的多维度散点图,如上图所示,那么在R中,如何画出多维度散点图呢?
![](http://i3.tietuku.com/3a0bc02aee22ad50.png)
![](http://i3.tietuku.com/79aa62ac1e72d083.png)
![](http://i3.tietuku.com/088a5c6edd1bfc4f.png)
我们先来分解一下这个需求:
1、以(X,Y)确定散点位置,Z确定散点大小;
2、每组数据用不同标识符标记;
3、绘制内框,距X,Y边缘5个单位;
好,我们来看看如何使用R来实现以上功能。
测试数据如下:
x1,y1,z1
22,31,5
32,33,6
11,42,6
10,26,7
40,13,8
代码如下:
data <- read.csv("D:\\R\\1.csv", sep=",")
f <- factor(data[, 3])
#不同形状
plot(data[, 1:2], pch=data[,3], xlim=c(0, 50), ylim=c(0, 50))
legend(
"topright",
levels(f),
pch=as.numeric(levels(f)),
title="形状"
);
![](http://i3.tietuku.com/3a0bc02aee22ad50.png)
#形状大小
plot(data[, 1:2], cex=data[,3], xlim=c(0, 50), ylim=c(0, 50))
![](http://i3.tietuku.com/79aa62ac1e72d083.png)
#画矩形
#x1, y1, x2, y2
#其中,(x1, y1)为左下角坐标,(x2, y2)为右上角坐标
rect(5, 5, 10, 10)
![](http://i3.tietuku.com/088a5c6edd1bfc4f.png)
![[每日一答] [20151021] R如何制作多维度散点图](http://i3.tietuku.com/7d2c5d5ba6f79a81.png)