enter image description here我对R和编程很新。所以请原谅我的无知,我正在努力学习。
我有两组数据,我想将它们相互映射。两者都有27行3列;一组称为“范围”,另一组称为“rangePx”。 列“Comp”具有不同的组分,列“Min”是最小浓度(%),列“Max”是最大浓度(%)。
我想做一个2-y轴哑铃图,y轴是不同的成分,x轴是浓度。
我设法创建1 y轴哑铃图,但是添加第二个y轴时遇到麻烦。
以下是“范围”数据的快照
head(range)
# A tibble: 6 x 3
Comp Min Max
<chr> <dbl> <dbl>
1 Methane 0.0100 100
2 Ethane 0.0100 65.0
3 Ethene 0.100 20.0
4 Propane 0.0100 40.0
5 Propene 0.100 6.00
6 Propadien 0.0500 2.00
这里是“rangePx”数据
的快照head(rangePx)
# A tibble: 6 x 3
Comp Min Max
<chr> <dbl> <dbl>
1 Methane 50.0 100
2 Ethane 0.00800 14.0
3 Ethene 0 0
4 Propane 0.00800 8.00
5 Propene 0 0
6 Propadien 0 0
以下是我使用的代码:
library(ggplot2)
library(ggalt)
library(readxl)
theme_set(theme_classic())
range <- read_excel(range.xlsx)
rangePx <- read_excel(rangePx.xlsx")
p <- ggplot(range, aes(x=Max, xend=Min, y = Comp, group=Comp))
p <- p + geom_dumbbell(color="blue")
p
px <- ggplot(rangePx, aes(x=Max, xend=Min, y = Comp, group=Comp))
px <- px + geom_dumbbell(color="green")
p <- p + geom_dumbbell(aes(y=px, color="red"))
p
这是我打电话给p
时的抱怨:
Error: Aesthetics must be either length 1 or the same as the data (27): y, colour, x, xend, group
在这里,我看到了一个6x3数据帧,但我的原始数据是27x3
任何人都可以帮助我吗?
Thnx提前
答案 0 :(得分:0)
{
0: {
"date":"20180221",
"comment":"Hello world"
},
1: {
"date":"20180220",
"comment":"Hello world"
}
}
没有能力绘制2个y轴 - 这是Hadley Wickham编写包的故意决定。你可以在这里看到他对类似问题的回答,在那里他评论了他不包括的原因:
Plot with 2 y axes, one y axis on the left, and another y axis on the right
正如评论和回答问题所述,如果您想使用ggplot2
,则必须使用分面进行比较。否则你需要使用不同的绘图包。