我有4个数据框,存储一个数字(1到100之间)和一个字符串,可以是' A' B' B'或' C& #39 ;.我想创建一个带有x轴的散点图,其顺序是' A' B' C' C',每个数据框的编号在y轴上。对于每个数据帧,散点图上的点应该是不同的。
为了给你一些想法,数据框的格式为
Name | Number
A | 2
A | 4
B | 5
我已尝试过以下操作,但出于某种原因,它会添加数字而不是按原样绘制它们。
注意:class.df
是df1
,df2
和df3
所基于的原始数据框架。如果可能,我不想使用它。
p <- plot_ly(class.df, x = ~Name, type = 'scatter') %>%
add_trace(df1, y = ~Number, x = ~Name, mode = 'markers', name = '1') %>%
add_trace(df2, y = ~Number, x = ~Name, mode = 'markers', name = '2') %>%
add_trace(df3, y = ~Number, x = ~Name, mode = 'markers', name = '3')
答案 0 :(得分:0)
嗨,我也是新人,但希望如果我理解你,这可以帮到你。我创建了三个独立的数据帧。对于这些数据帧,我添加了一个附加列,其中包含该数据帧的特定编号。在ggplot命令中,我将颜色与col参数区分开来。最后我用ggplotly做了一些可爱的东西。我希望我能正确回答你的问题。
在1 - 100之间创建100个随机数
Number <- sample(100, 100)
Number2 <- sample(100, 100)
Number3 <- sample(100, 100)
字母A B结束C
Letters <- c("A", "B", "C")
获得100次随机字母A,B或C
Letter <- sample(Letters, 100, replace = T)
Letter2 <- sample(Letters, 100, replace = T)
Letter3 <- sample(Letters, 100, replace = T)
创建三个数据框
dat1 <- data.frame("Letter" = Letter, "Number" = Number)
dat2 <- data.frame("Letter" = Letter2, "Number" = Number2)
dat3 <- data.frame("Letter" = Letter3, "Number" = Number3)
每个单独数据帧的颜色
dat1$Colour <- "1"
dat2$Colour <- "2"
dat3$Colour <- "3"
绑定所有数据帧
datall <- rbind(dat1,dat2,dat3)
创建ggplot x = Letter,y = Number,col =每个数据帧的单独颜色
A <- ggplot(data=datall, aes(x = Letter, y = Number, col = Colour)) + geom_point() + theme_classic()
Ggplotly做魔术
ggplotly(A)