layer_paths
データ フレームをグループ化し、合計group
の a を使用し、元の呼び出しfill
で long と lat も選択します。ggvis
したがって、入力されるデータ フレームには、add_tooltip
それらの列が正確に含まれます。つまり、name
列はありません。
以下に示すように、簡単なチェックで、各グループが 1 つの名前のみに対応していることがわかりました。
> table(jor$group, jor$name)
ajlun amman aqaba balqa irbid jarash karak ma`an madaba mafraq tafilah zarqa
2009.1 0 0 87 0 0 0 0 0 0 0 0 0
2010.1 0 0 0 0 0 0 0 0 0 115 0 0
2011.1 0 102 0 0 0 0 0 0 0 0 0 0
2012.1 0 0 0 0 0 0 0 0 0 0 67 0
2013.1 0 0 0 0 0 0 0 70 0 0 0 0
2014.1 0 0 0 0 159 0 0 0 0 0 0 0
2015.1 41 0 0 0 0 0 0 0 0 0 0 0
2016.1 0 0 0 0 0 42 0 0 0 0 0 0
2017.1 0 0 0 80 0 0 0 0 0 0 0 0
2018.1 0 0 0 0 0 0 0 0 60 0 0 0
2019.1 0 0 0 0 0 0 74 0 0 0 0 0
2020.1 0 0 0 0 0 0 0 0 0 0 0 86
name
したがって、 groupの代わりにgroup 引数を変更するだけでうまくいくようです。以下のコードを参照してください。
#I have added a fake total column
jor$total <- runif(983) * 100
このコードは機能します:
jor %>% ggvis(~long, ~lat) %>%
layer_paths(data = jor %>% group_by(name),
strokeWidth := 0, fill = ~total) %>%
hide_axis("x") %>% hide_axis("y") %>%
add_tooltip(function(data){paste("Gov: ", data$name, "<br>", "Total: ", as.character(data$lat))}, "hover")

実際、合計列は実際にはlat
あなたの場合の列であると思います(as.character(data$lat))
あなたが書いていることから判断してadd_tooltip
)その場合、
jor %>% ggvis(~long, ~lat) %>%
layer_paths(data = jor %>% group_by(name),
strokeWidth := 0, fill = ~lat) %>%
hide_axis("x") %>% hide_axis("y") %>%
add_tooltip(function(data){paste("Gov: ", data$name, "<br>", "Total: ", as.character(data$lat))}, "hover")
とにかく動作します。