2017-01-18 3 views
2
ggplot(mtcars) + 
    geom_point(aes(x = wt, y = mpg, size = qsec), color = 'red') + 
    geom_text(aes(wt, mpg, label=cyl)) + 
    geom_text_repel(aes(wt, mpg, label = rownames(mtcars))) + 
    theme_classic(base_size = 16) 

Если запустить этот код, вы получите сюжет, который выглядит следующим образом: enter image description here То, что я заинтересован в этом, это изменить порядок qseq. Значение, biggest qsec будет присвоен кругу smaller, а наименьшему qsec будет назначен больший.показывающих значения от больше меньшего scaterplot R

Как это сделать?

+0

возможно создать переменную 'DF $ qsecInv <- 1/df $ qsec' или что-то подобное и использовать это. – lmo

+0

@ Это хороший способ обхода, но как я смогу правильно отобразить легенду? – Mixalis

ответ

2

добавление scale_size(trans = "reverse") решает вашу проблему:

ggplot(mtcars) + 
    geom_point(aes(x = wt, y = mpg, size = qsec), color = 'red') + 
    geom_text(aes(wt, mpg, label=cyl)) + 
    geom_text_repel(aes(wt, mpg, label = rownames(mtcars))) + 
    theme_classic(base_size = 16)+ 
    scale_size(trans = "reverse") 

Я только добавив картину данных, чтобы помочь другим с этой проблемой enter image description here

+0

Ничего себе! Спасибо, сэр! – Mixalis