[英]ggplot2 plot 3 factors with some x-axis jigging
我想用ggplot2 geom_point創建一個點圖,其中連續變量按不同因素分層。
這很復雜,也許我試圖在一個圖表中顯示太多,但我有三個影響事物的不同因素
我想這樣展示它
p <- ggplot(mtcars[,c(1,2,10,11)], aes(factor(cyl), mpg))
p + geom_point(aes(colour = factor(gear), shape=factor(carb)))
但是我想把因子(齒輪)分開,即對於x軸上的三個因子(cyl)值中的每一個,我想要x軸上不同因子(齒輪)顏色之間的小距離
即在因子(cyl)== 4,因子(齒輪)== 3是3.9的類型,因子(齒輪)== 4是4和因子(齒輪)== 5是4.1的類型。 對於每個因子(cyl)值重復這一過程。
希望有道理
NB這是一個玩具的例子。 我會使用分類,非數字值而不是分解數字來做它; 我意識到3.9 / 4.1的值很令人困惑。
使用facet_grid()
和mtcars示例:
library(ggplot2)
data(mtcars)
p <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_point(aes(colour=factor(carb)))
p + facet_grid(. ~ gear)
subset
是一種方法。 通過gears
對數據進行子集,然后依次為每個子集定位點集。
library(ggplot2)
p <- ggplot()
p + geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 3), aes(x = as.numeric(factor(cyl)) - 0.1, y = mpg, colour = factor(gear), shape=factor(carb))) +
geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 4), aes(x = as.numeric(factor(cyl)), y = mpg, colour = factor(gear), shape=factor(carb))) +
geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 5), aes(x = as.numeric(factor(cyl)) + .1, y = mpg, colour = factor(gear), shape=factor(carb))) +
scale_x_continuous("Cylinders", breaks = c(1,2,3), labels = c(4,6,8), expand = c(.2,0))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.