簡體   English   中英

ggplot:基於類別的位置閃避

[英]ggplot: position dodge based on category

我想使用位置閃避來偏移我的 ggplot 圖表中的一個變量(在本例中為香蕉),並讓其他兩個變量(red_apple 和 green_apple)沒有偏移。 使用position_dodge將偏移量應用於每個變量,但我想選擇具體偏移哪些變量。

library(ggplot2)

data <- data.frame(Place = c(rep('Place_A',30),rep('Place_B',30)),
                   variable =     c(rep(c(rep('red_Apple',10),rep('green_Apple',10),rep('bananna',10)),2)),
                   value = rep(c(1:10,1:10-.05,1:10+.2),2))

dodge = position_dodge(.5)

ggplot(data, aes(Place, value)) + 
  geom_point(aes(color=variable),position=dodge)

在此處輸入圖像描述 例如,是否有一種手動縮放位置的方法,例如如何為其他美學做些什么? 這顯然會引發錯誤,但這是我所希望的......

ggplot(data, aes(Place, value)) + 
  geom_point(aes(color=variable, position = variable)) + 
  scale_position_manual(breaks = c('green_Apple','red_Apple','bananna'),
                      values = c(position_dodge(0),position_dodge(0),position_dodge(.5)))

這看起來像你想要的嗎?

data$grp = ifelse(data$variable == "bananna", 2, 1)
ggplot(data, aes(Place, value, group = grp)) + 
  geom_point(aes(color=variable), position = position_dodge(0.5))

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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