首页 > 解决方案 > 将 R 中的符号绘制为权重饼图

问题描述

考虑 R 中的这个玩具示例

x<-seq(0,1,length.out=10)
y<-sin(x)
plot(x,y)
set.seed(10)
weights <- matrix(runif(30),ncol=3)
weights <- sweep(weights,1,apply(weights,1,sum),"/")

其中每个点都有与属于 3 个组相关的概率。例如,第一个观察有

     [,1]       [,2]      [,3]
 [1,] 0.2507483 0.32198731 0.4272644

在第 1 组中的概率为 0.25,在第 2 组中的概率为 0.32,在第 3 组中的概率为 0.43。如何使每个点的绘图符号看起来像一个迷你饼图,从而相应地为饼图着色?例如,对于第一个点,绘图符号看起来像这样

pie(weights[1,],labels=NA)

在此处输入图像描述

标签: rplotcharts

解决方案


使用plotrix

plot(-0.1:1, -0.1:1, "n")
for (i in 1:length(x)) {
  floating.pie(x[i], y[i], weights[i,], radius=0.05, col = c("#ffffff", "#d3d3d3", "#add8e6"))
}

产生:

在此处输入图像描述


推荐阅读