2016-03-19 2 views
0

私はその後、私はデータセットggvisのマップの塗りつぶし属性に数値をマップするにはどうすればよいですか?

map <- ggplot2::fortify(us) 

を強化そして、私が作成した座標

us <- readOGR("http://eric.clst.org/wupl/Stuff/gz_2010_us_040_00_20m.json", "OGRGeoJSON") 

とJSONファイルをダウンロードし

まずggvisでマップを描画するために、次のコードを使用しています0〜1の間で標準化された地図で表現したい値のデータセット

value <- data_frame(stateName=us$NAME, value=seq(1:52)/52) 

最後に、I(正常に)私のマップを描く:

tbl_df(map)%>% 
    filter(long>-130 & long<0) %>% 
    filter(lat>20) %>% 
    ggvis(~long, ~lat) %>% 
    group_by(group, id) %>% 
    layer_paths(strokeOpacity:=0.5, stroke:="#7f7f7f", fill:="#cc0000") %>% 
    scale_numeric("y", domain=c(24,50)) %>% 
    scale_numeric("x", domain=c(-126,-72)) %>% 
    hide_legend("fill") %>% 
    hide_axis("x") %>% 
    hide_axis("y") %>% 
    set_options(width=400, height=600, keep_aspect=TRUE) 

しかし、すべてのプロセスは少し黒箱型の私にはあるので、私は、データセットvalueから値をマッピングする方法がわかりませんggvisは効率的にマップします。塗りつぶしアトリビュートにカラーグラデーションを使用したいと思いますが、透明部分を再生することもOKです。

私はを保つためにfortify()に連絡しなければならないと思いますが、どうですか?

答えて

0

あなたがそのような何かを探しています:

[email protected]$id = rownames([email protected]) 
us_class = fortify(us, region="id") 
us.df = join(us_class, [email protected], by="id") 
value <- data_frame(NAME=us$NAME, value=seq(1:52)/52) 
us.df <- join(us.df, value) 

tbl_df(us.df)%>% 
    filter(long>-130 & long<0) %>% 
    filter(lat>20) %>% 
    ggvis(~long, ~lat) %>% 
    group_by(group, id) %>% 
    layer_paths(strokeOpacity:=0.5, stroke:="#7f7f7f", fill:="#cc0000") %>% 
    scale_numeric("y", domain=c(24,50)) %>% 
    scale_numeric("x", domain=c(-126,-72)) %>% 
    hide_legend("fill") %>% 
    hide_axis("x") %>% 
    hide_axis("y") %>% 
    set_options(width=400, height=600, keep_aspect=TRUE) %>% 
    layer_paths(fill= ~value) 

enter image description here

+0

感謝。 2行目はこのエラーを返します。「エラー:isTRUE(gpclibPermitStatus())はTRUEではありません。あなたはプロメムの原因を知っていますか?また、私は、重複しない連続変数を色にマッピングしているので、色が異なることを期待しています。なぜこれは当てはまりませんか? – Dambo

+0

ここは私のセッションです。情報:maptools_0.8-36 plyr_1.8.3 rgeos_0.3-11 rgdal_1.0-4 sp_1.2-2 ggplot2_2.1.0 ggvis_0.4.2 dplyr_0.4.3 – MLavoie

+0

ありがとう!このエラーはおそらく時代遅れのパッケージが原因で発生している可能性があります。 – Dambo

関連する問題