我有一个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/