我有一个data.frame,例如:

df = data.frame(AAA=rnorm(100,1,1),BBB=rnorm(100,2,1.5),CCC=rnorm(100,1.5,1.2))

我想在联合 fiddle 图中绘制其每个列。

这是我到目前为止的位置:
names(df)[1] = 'x'
do.call('vioplot', c(df,col="red",drawRect=FALSE))

我接下来要做的是将df的同名绘制为x轴标签,而不是vioplot的默认x轴标签,并且以一种不会相互重叠的方式进行绘制。我想这可以通过散布图中的df列或倾斜x轴标签来实现。但是我无法弄清楚。

最佳答案

ggplot可能更容易使用

df = data.frame(AAA=rnorm(100,1,1),
                BBB=rnorm(100,2,1.5),
                CCC=rnorm(100,1.5,1.2))

需要将数据转换为ggplot可以处理的内容:
df.m <- reshape2::melt(df, id.vars = NULL)

并绘制:
library(ggplot2)
ggplot(df.m, aes(x = variable, y = value)) + geom_violin()

关于r - 数据框的 fiddle 图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21960614/

10-12 17:14
查看更多