2013-10-15 3 views
1

Я создал график рассеяния с изменением размера круга с интенсивностью данных: Fro 0 до 2, от 2 до 4, .. от 8 до 10. Кто-нибудь может помочь мне создать правильную легенду для моего сюжета ?.Как создать легенду для графика рассеяния с масштабированными точками: [R]

Мой код:

require(xlsx)  

data <- read.xlsx("data.xlsx", 1, header=TRUE) # reading the data 

BRfunc <- colorRampPalette(c("blue", "red")) # the color gradient 

itvl <- c(0,2,4,6,8,10) 

plot(data$years, data$cars, cex=findInterval(data$emission, itvl), col="black") 
+0

Вы посмотрели на «легенду»? –

+0

Если единственное, что вы меняете, это круг ** размер **, то ваша легенда будет почти неразборчивой. Человеческий глаз не настолько хорош при ссылках на диаметры (или окружности) кучки разных кругов. Если вам действительно нужно иметь точную взаимосвязь между интенсивностью и сюжетом, я также рекомендую использовать цвет. Как правило, «пузырьковые графики», подобные этому, предназначены только для отображения относительных величин. –

ответ

2

Я создал воспроизводимый набор данных

n <- 50 
data <- data.frame(years=1950+(1:n), cars=rnorm(n), emission=runif(n,0,10)) 

Затем используйте код, чтобы построить цифру

itvl <- c(0,2,4,6,8,10) 
plot(data$years, data$cars, cex=findInterval(data$emission, itvl), col="black") 

Для того, чтобы создать легенда, я использовал legend() как Марк в предложенной коробке.

legend("topright", legend=itvl, pt.cex=itvl, pch=1) 

Вы можете использовать опции, такие как xjust и x.intersp изменить интервал между символами и легенды. Вы можете использовать bty для удаления поля.

+0

Привет, Мари, Большое вам спасибо. Оно работает. – user2881943

Смежные вопросы