Я создал карту Африки в R, используя tmap, показывающую некоторые числовые переменные, но я хотел бы показать названия стран только для стран, где числовая переменная не равна 0.
Итак, я создал цветовой вектор, содержащий значение «черный», когда числовое значение было> 0, и NA, когда оно было = 0. Для многих функций это позволит отображать только «черные» метки, а не NA, но при tm_text значения NA отображаются на карте белым цветом.
Изображение карты
Я пытался использовать несколько опций tm_text, но ничего не получалось. Если я заменяю NA на имя цвета, оно работает, ярлыки отображаются в указанном мной цвете, но NA не позволяет заставить метки исчезать.
spdf_africa <- ne_countries(continent = 'africa',type="map_units",scale = "medium", returnclass = "sf")
xx<-numeric(length=57)
xx[match(names(tole),spdf_africa$name)]<-tole
xxcol<-xx
xxcol[xx>0]<-"black"
xxcol[xx==0]<-NA
afric=spdf_africa
afric$studies<-xx
afric$studiesTF<-xxcol
tm_shape(afric)+tm_fill(col="studies",title="Nb",style="cat")+tm_text("iso_a3",col="studiesTF",size=0.8)+tm_borders()
Конечно, я мог бы использовать бледныйжелтый как цвет метки для стран, которые я не хочу отображать, но эти метки все равно будут видны, когда они перекрываются с границами или соседними странами.
Есть ли способ сделать это более элегантно?
Спасибо