1

以下是一些生成各种蜘蛛图的代码:

# Data must be given as the data frame, where the first cases show maximum.
maxmin <- data.frame(
 total=c(5, 1),
 phys=c(15, 3),
 psycho=c(3, 0),
 social=c(5, 1),
 env=c(5, 1))
# data for radarchart function version 1 series, minimum value must be omitted from above.
RNGkind("Mersenne-Twister")
set.seed(123)
dat <- data.frame(
 total=runif(3, 1, 5),
 phys=rnorm(3, 10, 2),
 psycho=c(0.5, NA, 3),
 social=runif(3, 1, 5),
 env=c(5, 2.5, 4))
dat <- rbind(maxmin,dat)
op <- par(mar=c(1, 2, 2, 1),mfrow=c(2, 2))
radarchart(dat, axistype=1, seg=5, plty=1, vlabels=c("Total\nQOL", "Physical\naspects", 
 "Phychological\naspects", "Social\naspects", "Environmental\naspects"), 
 title="(axis=1, 5 segments, with specified vlabels)")
radarchart(dat, axistype=2, pcol=topo.colors(3), plty=1, pdensity=30, pfcol=topo.colors(3),
 title="(topo.colors, fill, axis=2)")
radarchart(dat, axistype=3, pty=32, plty=1, axislabcol="grey", na.itp=FALSE,
 title="(no points, axis=3, na.itp=FALSE)")
radarchart(dat, axistype=1, plwd=1:5, pcol=1, centerzero=TRUE, 
 seg=4, caxislabels=c("worst", "", "", "", "best"),
 title="(use lty and lwd but b/w, axis=1,\n centerzero=TRUE, with centerlabels)")
par(op)

图形的输出由两组不同颜色的线段组成。第二组线段从何而来?还有什么是在同一个蜘蛛图上绘制多个项目的好方法?

4

1 回答 1

0

您应该提到您正在使用该fmsb库来创建图形。您显示的代码是文档中的示例。乍一看令人费解的是为什么显示了三组行(而不是“第二组”所暗示的两行),而dat.

所有这些都在您从中获取代码的同一文档中:

row 1 = the maximum values (defined in `maxmin` in the example code)
row 2 = minimum values  (defined in `maxmin` in the example code)
row 3 to 5 are example data points, each row leading to one of the 
            three line segments that you see in the example graphs.

只需radarchart {fmsb}再次阅读文档并在执行此操作时使用示例中的数字。应该很清楚正在发生什么以及您对自己的数据有哪些选择。您可以根据需要添加任意数量的数据行并创建相应的行。但是,如果您过度使用这些内容,它们确实会变得难以阅读。

于 2013-08-22T00:43:52.567 回答