簡體   English   中英

ggplot2 ggmap,R圖例編輯

[英]ggplot2 ggmap, R legend editing

這是
代碼示例:

require(rgdal)
require(ggmap)
require(maptools)
library(RColorBrewer)



polska <- get_map(

  location=c(lon=20.9589934, lat=53.5149404), 
  zoom=7, 
  maptype="roadmap" 

)

mapa <- ggmap(polska)

nazwa <- c('LEKARZ - SPECJALISTA ONKOLOGII I HEMATOLOGII DZIECIĘCEJ',
           'LEKARZ - SPECJALISTA ONKOLOGII KLINICZNEJ',
           'LEKARZ - SPECJALISTA RADIOLOGII I DIAGNOSTYKI OBRAZOWEJ',
           'LEKARZ - SPECJALISTA RADIOTERAPII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA KARDIOCHIRURGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII DZIECIĘCEJ',
           'LEKARZ - RADIOLOGIA I DIAGNOSTYKA OBRAZOWA',
           'LEKARZ - SPECJALISTA CHIRURGII ONKOLOGICZNEJ',
           'LEKARZ - SPECJALISTA GINEKOLOGII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA ONKOLOGII I HEMATOLOGII DZIECIĘCEJ',
           'LEKARZ - SPECJALISTA ONKOLOGII KLINICZNEJ',
           'LEKARZ - SPECJALISTA RADIOLOGII I DIAGNOSTYKI OBRAZOWEJ',
           'LEKARZ - SPECJALISTA RADIOTERAPII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA KARDIOCHIRURGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII DZIECIĘCEJ',
           'LEKARZ - RADIOLOGIA I DIAGNOSTYKA OBRAZOWA',
           'LEKARZ - SPECJALISTA CHIRURGII ONKOLOGICZNEJ',
           'LEKARZ - SPECJALISTA GINEKOLOGII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA ONKOLOGII I HEMATOLOGII DZIECIĘCEJ',
           'LEKARZ - SPECJALISTA ONKOLOGII KLINICZNEJ',
           'LEKARZ - SPECJALISTA RADIOLOGII I DIAGNOSTYKI OBRAZOWEJ',
           'LEKARZ - SPECJALISTA RADIOTERAPII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA KARDIOCHIRURGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII DZIECIĘCEJ',
           'LEKARZ - RADIOLOGIA I DIAGNOSTYKA OBRAZOWA',
           'LEKARZ - SPECJALISTA CHIRURGII ONKOLOGICZNEJ',
           'LEKARZ - SPECJALISTA GINEKOLOGII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA ONKOLOGII I HEMATOLOGII DZIECIĘCEJ',
           'LEKARZ - SPECJALISTA ONKOLOGII KLINICZNEJ',
           'LEKARZ - SPECJALISTA RADIOLOGII I DIAGNOSTYKI OBRAZOWEJ',
           'LEKARZ - SPECJALISTA RADIOTERAPII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA KARDIOCHIRURGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII DZIECIĘCEJ',
           'LEKARZ - RADIOLOGIA I DIAGNOSTYKA OBRAZOWA',
           'LEKARZ - SPECJALISTA CHIRURGII ONKOLOGICZNEJ',
           'LEKARZ - SPECJALISTA GINEKOLOGII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA ONKOLOGII I HEMATOLOGII DZIECIĘCEJ',
           'LEKARZ - SPECJALISTA ONKOLOGII KLINICZNEJ',
           'LEKARZ - SPECJALISTA RADIOLOGII I DIAGNOSTYKI OBRAZOWEJ',
           'LEKARZ - SPECJALISTA RADIOTERAPII ONKOLOGICZNEJ','LEKARZ - SPECJALISTA KARDIOCHIRURGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII',
           'LEKARZ - SPECJALISTA KARDIOLOGII DZIECIĘCEJ',
           'LEKARZ - RADIOLOGIA I DIAGNOSTYKA OBRAZOWA',
           'LEKARZ - SPECJALISTA CHIRURGII ONKOLOGICZNEJ')

Lat <- c(53.772908,         54.179697,         53.77253,         53.769866,         53.824712,         53.770479,         54.155989,         53.77253,         53.900444,
         53.769866,         53.769866,         53.784476,         53.776881,         51.765548,         53.770238,         53.626192,         54.179697,         54.155989,         53.770238,         54.179697,       54.161008,         53.241782,
         53.693514,         54.497984,         54.179697,         53.770238,         54.179697,         54.12597,         53.793636,         53.769866,
         53.77253,         53.813859,         54.082334,         53.769866,         54.179697,         54.153899,        53.693514,
         53.769866,         54.179697,         51.765548,         53.820852,         53.144716,         53.586071,         53.144716,         53.793636,
         53.424625,         53.241782,         53.769866,         53.557383)


Lon <- c(20.484436,
         19.429063,         20.471922,         20.492113,         22.3542,         20.477155,         19.425851,         20.471922,         20.573356,         20.492113,         20.492113,         20.494275,
         20.505175,         19.455863,         20.479557,         21.798478,         19.429063,         19.425851,         20.479557,         19.429063,         19.418135,
         20.192547,         19.975791,         18.544899,         19.429063,         20.479557,         19.429063,
         20.591212,         22.33971,         20.492113,         20.471922,         22.384305,         21.377269,       20.492113,
         19.429063,         19.423336,         19.975791,         20.492113,         19.429063,         19.455863,         22.364016,         23.191729,         19.566362,         23.191729,         22.33971,         19.587424,         20.192547,
         20.492113,         20.986225
)
personel <- data.frame(nazwa,Lat,Lon)

moja.paleta <- brewer.pal(10, "Set3")
personel$kolor <- moja.paleta[personel$nazwa]

punkty <- mapa+ geom_point( aes(x=Lon, y=Lat,fill=personel$kolor)
                               ,data=subset(personel,nazwa=nazwa)#& dziedzina=='onkologia'))
                              ,size=6
                              , color= "gold"
                              , pch=21

                              ) 

plot(punkty)

我的問題:

如何將指南標簽標題從此顏色名稱更改為moja.paleta到personel personel$nazwa如何更改圖例標簽的大小並使該圖例垂直而不是水平?

圖片

在此處輸入圖片說明

我認為這應該工作

moja.paleta <- brewer.pal(10, "Set3")
mapa + geom_point( aes(x=Lon, y=Lat,fill=nazwa),
   data=subset(personel,nazwa=nazwa)#& dziedzina=='onkologia')),
   size=6,
   color= "gold",
   pch=21) + 
   scale_fill_manual( values=setNames(moja.paleta,levels(personel$nazwa)) ) + 
   guides(fill  = guide_legend(ncol = 2)) + 
   theme(legend.position="bottom")

我們使用scale_fill_manual設置每個級別的顏色,並使用fill=美感為點着色(請注意,那里沒有$ -指定美感時應避免這種情況。

我也將指南移到底部並更改了列數。 最后,我不得不選擇其他顏色的釀酒機托盤,因為“ Blues”沒有10個值。

在此處輸入圖片說明

在ggplot中起作用的所有內容都適用於ggmap。 因此,例如,此網頁應回答您的大多數問題: http : //www.cookbook-r.com/Graphs/Legends_%28ggplot2%29/29/

因為您沒有提供任何示例數據,所以我無法驗證這是否可行:

更改每個圖例項的名稱:

+ scale_fill_manual(labels=c("a", "b", "c")) 

更改尺寸圖例標簽,更改位置圖例

+ theme(legend.text = element_text(size = 16),
        legend.position="bottom")   #or top or so

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM