Ответ 1
Если вы посмотрите в ?scale_size
, вы увидите аргумент range
:
df <- data.frame(x = 1:10,y = runif(10),sz = c(rep(1,8),10,10))
ggplot(df,aes(x = x,y = y,size = sz)) +
geom_point() +
scale_size_continuous(range = c(2,4))
Скажем, у меня много значений около 0,1 и несколько около 10. Я их сопоставил с помощью:
geom_point(aes(size=value))
.., который дает мне такое изображение:
Трудно увидеть очень маленькие точки. Поэтому мне было интересно, могу ли я установить масштабирующую рамку для размеров точек. С:
scale_size_area(max_size=8)
Я могу установить максимальный размер, но не минимальный размер. Я мог log10 мои данные, что привело к практически без разницы в размерах точек. Было бы идеально определить минимальный размер и максимум, не оставляя заданного распределения (например, это возможно с помощью scale_colour_gradient, например).
Если вы посмотрите в ?scale_size
, вы увидите аргумент range
:
df <- data.frame(x = 1:10,y = runif(10),sz = c(rep(1,8),10,10))
ggplot(df,aes(x = x,y = y,size = sz)) +
geom_point() +
scale_size_continuous(range = c(2,4))