簡體   English   中英

ggplot2用一些x軸跳汰繪制3個因子

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM