【问题标题】:Changing axis ticks to "boxes" in ggplot在ggplot中将轴刻度更改为“框”
【发布时间】:2017-08-31 14:10:41
【问题描述】:

我有以下虚拟数据:

col1 <- c(1:4, 1:4, 1:4, 1:4)
col2 <- c(168, 2, 40, 12, 2, 60, 16, 3, 70, 20, 15, 11, 200, 150, 1, 100)
col3 <- c(2:5, 2:5, 2:5, 2:5)

dummy_data <- cbind(col1, col2, col3)
dummy_data <- as.data.frame(dummy_data)


ggplot(dummy_data, aes(col1, col3, size = col2))+
  geom_jitter()

这会创建一个jitterplot,其中 x 轴刻度线是“宽的”,因为抖动的数据点在图中有更大的空间可以覆盖。

是否可以创建某种“框”或线来覆盖这个范围,as in this picture?我希望这个范围对观众来说非常清楚。

【问题讨论】:

标签: r ggplot2


【解决方案1】:

试试这个:

ggplot(dummy_data, aes(x = col1))+
  geom_jitter(aes(y = col3, size = col2)) +
  geom_rect(data = data.frame(x = c(1, 2, 3, 4)), 
            aes(xmin = x - 0.5, xmax = x + 0.5, ymin = 1, ymax = 1.5),
            col = "black", fill = NA, inherit.aes = F)

您可以通过“ymin”和“ymax”上下移动矩形。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-04
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多