参见:https://blog.csdn.net/weixin_43592521/article/details/88909816
https://cloud.tencent.com/developer/news/395166
简介
先上图:
该图可以很好的反映二维数据的分布。
通常来说,一个n*p 的矩阵,列对应p 边形的几个边,而行则对应n 个样本。
我们尝试画一个:
首先创建基本数据
> mat <- matrix(runif(100,10,20), ncol = 10)
> head(mat)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 15.02793 11.75973 17.95334 13.11035 14.72707 11.84934 12.87891 14.60447 14.02099 11.67889
[2,] 12.44242 10.62128 10.14315 11.01140 10.83456 11.95527 17.24580 12.96430 11.50549 11.47003
[3,] 17.32756 19.35300 15.58799 11.88323 10.35692 14.29070 13.87959 15.07588 19.22263 15.20624
[4,] 10.43305 12.79005 16.12117 15.01036 10.65870 12.80955 15.69616 15.10064 15.22195 13.55428
[5,] 19.17745 16.17473 19.07382 17.81300 11.33411 18.58552 11.18753 17.02681 15.53477 12.19307
[6,] 13.77957 16.82956 10.22371 17.87506 18.62045 18.15138 19.02812 14.69834 19.89162 14.89555
> colnames(mat) <- paste0("ability", 1:10)
> rownames(mat) <- paste0("sample", 1:10)
> head(mat)
ability1 ability2 ability3 ability4 ability5 ability6 ability7 ability8 ability9 ability10
sample1 15.02793 11.75973 17.95334 13.11035 14.72707 11.84934 12.87891 14.60447 14.02099 11.67889
sample2 12.44242 10.62128 10.14315 11.01140 10.83456 11.95527 17.24580 12.96430 11.50549 11.47003
sample3 17.32756 19.35300 15.58799 11.88323 10.35692 14.29070 13.87959 15.07588 19.22263 15.20624
sample4 10.43305 12.79005 16.12117 15.01036 10.65870 12.80955 15.69616 15.10064 15.22195 13.55428
sample5 19.17745 16.17473 19.07382 17.81300 11.33411 18.58552 11.18753 17.02681 15.53477 12.19307
sample6 13.77957 16.82956 10.22371 17.87506 18.62045 18.15138 19.02812 14.69834 19.89162 14.89555
stars(mat) # 一行代码搞定画图
调整参数
几个参数可以调整stars 图像:
- radius
不显示星图内部线段
- full
星图只画一半
- labels
字符串类型数据,需要与数据的行等长,用来对星图进行标记。
- flip.labels
调整labels 是否自动的调整位置。
- draw.segments
选项T,让星图有颜色。
- col.segments
颜色向量,指定星图中的颜色。
- col.lines
同上,但指定的是星图的线段颜色。
- key.loc=c(10,2)
让星图显示图例,并调整位置,简单使用来看,左边数字调整左右,越大越右;右边调整上下,越大越上。
其他内容
发现可以画的更加花里胡哨:
网上教程不多,自己摸索下吧,https://rdrr.io/r/graphics/stars.html
不过和graphic 对象是一家,如果基础包绘图功底好,应该很好上手的。