我有12个变量, M1,M2,...,M12 ,为此我计算了某个统计量 x
df = data.frame(model = paste("M", 1:28, sep = ""), x = runif(28, 1, 1.05))
levels = seq(0.8, 1.2, 0.05)
我想将这些数据绘制如下:
每个圆圈(轮廓)代表该统计数据的级别 “x” 。三条蓝线仅代表三种不同的场景。 此示例中包含的数据框表示一个方案。对于该特定情况,蓝线只会将 M1 的所有模型的值加入 M28 。
R中是否有任何工具允许这样的情节?我尝试contour()
来自library(MASS)
,但轮廓不是完美的圆圈。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:3)
这是一个ggplot解决方案:
library(ggplot2)
ggplot(data=df, aes(x=model, y=x, group=1)) +
geom_line() + coord_polar() +
scale_y_continuous(limits=range(levels), breaks=levels, labels=levels)
请注意,由于数据框中的名称,这有点令人困惑。 x
实际上是y变量,并对真实x
进行建模,因此图表比例标签看起来很奇怪。
编辑:我必须在数据框中设置model
的因子级别,以便按正确的顺序绘制。