Как изменить диапазон размеров точек, когда размер точки представляет значения - PullRequest
0 голосов
/ 10 мая 2019

Я бы хотел сохранить относительную разницу в размерах между точками на диаграмме рассеяния ggplot2, но увеличить размер всех точек, чтобы они были более заметными.

Вот код.Единственный важный момент - размер точки привязан к переменной, поэтому я не хочу настраивать ее вручную.

ggplot(WSC5, aes(x = DCount, y = meandays, color = Department, size = NumCats)) + 
  geom_point() + 
  theme_minimal() +
  labs(y = "Mean Number of Days Open Per Case", 
       x = "Number of Cases", 
       title = "Cases", 
       size = "Number of Categories") +
  theme(plot.title = element_text(hjust = .5)) + 
  guides(color = guide_legend(override.aes = list(size =5)))

Приведенный выше код создает работоспособную диаграмму, но точки слишком малы, чтобы их можно было увидеть вслайд-презентация.Я хочу больше очков.

1 Ответ

0 голосов
/ 11 мая 2019

Добро пожаловать в stackoverflow.Я думаю, что вы можете получить то, что вам нужно, с scale_size()

df <-
  diamonds %>% 
  filter(clarity == "I1") %>%
  mutate(
    depth = floor(depth),
    price = round(price, -3)
  ) %>% 
  count(depth, price)

no_scale <-
  ggplot(df, aes(depth, price, size = n)) +
  geom_point(alpha = 0.3) +
  coord_fixed(ratio = 1/1000)

with_scale <-
  ggplot(df, aes(depth, price, size = n)) +
  geom_point(alpha = 0.3) +
  scale_size(
    breaks = c(1, 10, 25, 50),
    range = c(2, 6)
  ) +
  coord_fixed(ratio = 1/1000)             

gridExtra::grid.arrange(no_scale, with_scale, nrow = 1)

enter image description here

Чтобы получить хорошие результаты на этом сайте, всегда давайте код, который будетсоздайте небольшой набор данных, чтобы мы могли запустить его самостоятельно.В этой статье есть хорошая информация о том, как это сделать:

https://reprex.tidyverse.org/articles/articles/datapasta-reprex.html

...