[每日一答] [20151021] R如何制作多维度散点图

来源:互联网 发布:mac版百度云好用吗 编辑:程序博客网 时间:2024/06/05 19:25


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="形状"
);



#形状大小

plot(data[, 1:2], cex=data[,3], xlim=c(0, 50), ylim=c(0, 50))



#画矩形

#x1, y1, x2, y2
#其中,(x1, y1)为左下角坐标,(x2, y2)为右上角坐标

rect(5, 5, 10, 10)




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="形状"
);



#形状大小

plot(data[, 1:2], cex=data[,3], xlim=c(0, 50), ylim=c(0, 50))



#画矩形

#x1, y1, x2, y2
#其中,(x1, y1)为左下角坐标,(x2, y2)为右上角坐标

rect(5, 5, 10, 10)




0 0
原创粉丝点击