在下面的简化示例中,size变量控制要使用geom_path
在地图上绘制的线条的相对大小。
问题是显然大小不是以毫米为单位(如ggplot的文档中所示),但对于size变量中的任何两个或更多值,具有两个极值(min和max)的行以最小和最大宽度绘制可用,所有其他线都在中间某处的离散比例。
最大宽度太宽,我想让它更薄。但由于大小似乎是相对于最小值/最大值而不是绝对值(毫米/像素值),我无法控制实际大小。
请在此处更改somevalue
,看看地块之间没有任何变化。
library(ggmap)
base_layer <- get_googlemap(center = c(lon = 28.5, lat = 37) , zoom = 3 , maptype="roadmap" , size = c(640,640) , scale = 2 , color = "bw")
somevalue <- 3
df <- data.frame(
group = c("g1","g1","g2","g2"),
size = c(1,1,somevalue,somevalue),
color = c("blue","blue", "red", "red"),
lon = c(10,20,10,-10),
lat = c(52,60,52,60)
)
ggmap(base_layer) +
geom_path(data = df, aes(x = lon, y = lat, alpha = 0.6, group = group, color = color, size = size))
答案 0 :(得分:2)
您可以通过两种方式控制尺寸:
1)您可以使用scale_size_identity
。
2)您可以使用range
手动设置尺寸scale_size_continuous
。
选项1)将根据您的数据值进行缩放,选项2)不会。
这两个都给出了相同的情节:
ggmap(base_layer) +
geom_path(data = df, aes(x = lon, y = lat, group = group, color = color, size = size),
alpha = 0.6) +
scale_size_identity()
ggmap(base_layer) +
geom_path(data = df, aes(x = lon, y = lat, group = group, color = color, size = size),
alpha = 0.6) +
scale_size_continuous(range = c(1, 3))
P.S。请注意,在将alpha
值设置为常量时,需要将aes
值置于<{1}}之外。