2017-04-15 19 views
0

特定州の学校区域ごとに異なる変数をマッピングする関数を作成しようとしています。しかし、私は凡例をフォーマットするいくつかの問題にぶち当たっています。現時点では、地図を(横向きに)フィットさせる最良の方法をレイアウトしていますが、一部のテキストは切り捨てられています(平均貧困率以下)。凡例の数値ラベルに%を追加したい。私のコードと伝説のイメージは以下の通りです。あなたが提供できるどんな助けも非常に高く評価されます。ありがとうございました。R:tmap凡例書式設定

MakeLEAMap <-function(StateNum,NCHE_VAR,VAR1_NAME,In,Folder){ 
    as.character(substitute(StateNum)) 
    as.character(substitute(NCHE_VAR)) 
    as.character(substitute(NCHE_In)) 
    as.character(substitute(VAR1_NAME)) 
    as.character(substitute(Folder)) 

    map <- 
    tm_shape(LEA_1415_New[[email protected]$STATEFP == StateNum, ]) + 
    tm_polygons(NCHE_VAR,border.col="#000000", lwd= .5, textNA="Below Average \nPoverty Rate" , palette = 'Blues', style="quantile", 
       title=paste(In," State LEA Map: ",VAR1_NAME), 
       legend.is.portrait = FALSE) + 
    tm_text("LCITY", size=NCHE_VAR,scale=.8, root=2,print.tiny = FALSE, size.lowerbound = .85, bg.alpha = .75, 
      remove.overlap = TRUE,legend.size.show = FALSE, col="black") + 
    tm_layout(legend.title.size = 3, 
       frame = FALSE, inner.margins = c(0,.0,.05,.0), asp = 1.5, 
       legend.text.size = 1, 
       legend.outside=TRUE, legend.outside.position = 'bottom', 
       legend.frame = TRUE, 
       legend.outside.size = .3, legend.position = c(-0.1, 0.3)) 

    save_tmap(map, filename=paste("State_Maps_TEST/",Folder,"/",In,".pdf", sep = ''),width=8, height=8) 
} 
MakeLEAMap("48","Abv_Diff_Home_Pov","% Children in Poverty minus \n% Children HCY (Ages5-17)", 
      "TX","ALL") 

Here is what the legend looks like now

+0

[凡例の数字の書式設定](https://github.com/mtennekes/tmap/issues/67) – Valentin

答えて

0

伝説ショーの割合は、あなたのtm_polygonsコールの内側にこの機能を使用するには:

legend.format =リスト(楽しい=関数(x)はpaste0(formatC(X、

数字(小数点)を使用して再生することができます。また、%記号の前にスペースを入れることもできますご両親。

、その位置を調整することにより、凡例を移動する(おそらくあなたの空間オブジェクトのバウンディングボックスを読んで、それを拡大するrasterパッケージからextent機能を使用して)大きなバウンディングボックスを行うことにより、マップの周りの伝説より読みやすい増加スペースを作るために。

これは私が別の文脈で思いついたものですが、tmapという凡例でパーセント記号を要求したものです。 enter image description here