【问题标题】:Consistent alpha scale across different ggplot2 maps不同 ggplot2 地图的一致 alpha 比例
【发布时间】:2016-01-26 20:57:29
【问题描述】:

我正在尝试制作多张不同地图的 GIF,显示犯罪活动在一天中的不同时间如何在城市中移动。为了做到这一点,我制作了几个不同的stat_density2d() 图,每个时间间隔一个图。代码如下:

data <- read.csv(".../CrimeLocationAndTime.csv", 
                 stringsAsFactors = FALSE)

# Get base map layer
denver = c(lon = -104.9903, lat =  39.7392)
denver_map = get_map(location = denver, zoom = 13, color = "bw")

# Get data slices
twoAMTimeSlice <- data[data$time == "2:00 AM",]
tenAMTimeSlice <- data[data$time == "10:00 AM",]

# Create density map
ggmap(denver_map, extent = "panel", maprange=FALSE) +
  stat_density2d(data = twoAMTimeSlice, 
                 aes(x = longitude, y = latitude,  fill = ..level.., alpha = ..level..),
                 size = 0.1, bins = 16, geom = 'polygon') +
  scale_fill_gradient(low = "green", high = "red", limits=c(0,2000)) + # Color scale
  scale_alpha(range = c(0.1, 0.4), guide = "legend") + # Here is the alpha scale
  geom_text(label = twoAMTimeSlice$time[1], x = -104.95, y=39.775) +
  theme(plot.title = element_text(size = rel(1.5), vjust = 1),
        axis.title = element_blank(),
        text = element_text(size = 12)) +
  labs(title = "Criminal Occurrences by Time of Day")

所以这是我的问题:我需要我的 alpha 比例在我的所有地图中保持一致。目前,如果我在不同时间制作不同犯罪数量的图表,则 alpha 比例不会保持一致。这在这些图片中很明显:

观察这张图片中的绿色如何非常透明,而红色则更不透明。这是我想应用于所有地图的正确比例。

在这里,观察绿色是如何非常不透明的。您还可以看到上一张图片的图例变化。这是不好的。我希望这张图片中的绿色和上一张一样不透明。

我使用scale_fill_gradientlimits 参数实现了颜色 的比例一致性。然而,这个论点在应用于scale_alpha 时会给出不可靠的结果。

【问题讨论】:

  • “古怪”是什么意思?具体是什么地方出了问题?切换到 scale_alpha_continuous(limits=c(...,...)) 而不是 scale_alpha 是否可以解决问题?
  • 在通过我的代码回答您的问题时,我找到了解决方案。最初,当我使用limits=c(0.05, 0.4) 时,我的“古怪”结果来自(我认为limits 的域是alpha 级别,因此是[0,1])。我试过limits=c(0, 2000),效果很好。感谢您提出正确的问题!
  • 对于其他人,另请参阅:ggplot2.tidyverse.org/reference/scale_steps.html

标签: r ggplot2 alpha


【解决方案1】:

解决方案是将限制更改为

  limits=c(0, 2000) 

(由 cmets 中的 OP 回答)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多