Размер точки ggplot2 по цифре: не отображать точку при значении = 0

в том же вене ....

import platform
is_windows=(platform.system().lower().find("win") > -1)

if(is_windows): lv_dll=LV_dll("my_so_dll.dll")
else:           lv_dll=LV_dll("./my_so_dll.so")
3
задан DJA 20 March 2019 в 14:01
поделиться

2 ответа

Вы можете изменить минимальное значение на отрицательное:

ggplot(data = df) +
  geom_line(aes(x = Dates, y = Series1))+
  geom_point(aes(x = Dates, y = Series1, size = Series2))+
  scale_size_continuous(range = c(-1, 5)) 

Если вы не хотите, чтобы легенда включала 0, вы можете добавить breaks:

scale_size_continuous(range = c(-1, 5), breaks = seq(2.5, 10, 2.5)) 

enter image description here

0
ответ дан beetroot 20 March 2019 в 14:01
поделиться

Другой вариант - использовать alpha, чтобы превратить size == 0 точки невидимыми. Мы устанавливаем alpha в aes в логическое выражение Series2 == 0, а затем используем scale_alpha_manual для установки значений в 1, если FALSE и 0 (невидимо), если TRUE:

ggplot(data = df)+
    geom_line(aes(x=Dates, y = Series1))+
    geom_point(aes(x=Dates, y = Series1, size = Series2, alpha = Series2 == 0))+
    scale_size_continuous(range = c(1, 5)) +
    scale_alpha_manual(values = c(1,0)) +
    guides(alpha = FALSE)     # Hide the legend for alpha
[ 1112] enter image description here

0
ответ дан divibisan 20 March 2019 в 14:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: