сюжетная карта: отображение названий стран

Рассмотрим следующий код R для построения картографической карты в графическом виде:

#devtools::install_github("ropensci/plotly")
library(plotly)

df <- read.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv')

# light grey boundaries
l <- list(color = toRGB("grey"), width = 0.5)

# specify map projection/options
g <- list(
  showframe = FALSE,
  showcoastlines = FALSE,
  projection = list(type = 'Mercator')
)

plot_ly(df, z = GDP..BILLIONS., text = COUNTRY, locations = CODE, type = 'choropleth',
        color = GDP..BILLIONS., colors = 'Blues', marker = list(line = l),
        colorbar = list(tickprefix = '$', title = 'GDP Billions US$'),
        filename="r-docs/world-choropleth") %>%
  layout(title = '2014 Global GDP<br>Source:<a href="https://www.cia.gov/library/publications/the-world-factbook/fields/2195.html">CIA World Factbook</a>',
         geo = g)

Есть ли встроенная опция для отображения названий стран на карте? Если нет, что было бы разумным способом кодировать это?

Чтобы просмотреть пример: https://plot.ly/r/choropleth-maps/

Инструкции по установке для plotly: https://plot.ly/r/getting-started/


person kanimbla    schedule 13.09.2015    source источник
comment
Если вам действительно нужны названия стран, чтобы помочь людям понять географию, возможно, столбчатая диаграмма станет лучшим выбором для этой визуализации. Также [исправлено], поскольку plotly отсутствует в CRAN, некоторым людям могут потребоваться инструкции по установке. Наконец, названия стран находятся во всплывающих окнах (что в некотором роде является реальной точкой использования интерактивной визуализации).   -  person hrbrmstr    schedule 13.09.2015
comment
@hrbrmstr Все дело в украшении карты, а не в преподавании географии;)   -  person kanimbla    schedule 13.09.2015
comment
У нас разные мнения о том, что делает статистическую карту красивой.   -  person hrbrmstr    schedule 13.09.2015
comment
Хорошо. Ваша точка зрения на инструкции по установке хорошо принята. Я добавил ссылку, объясняющую это.   -  person kanimbla    schedule 13.09.2015


Ответы (1)


Вы можете отобразить ярлыки стран, добавив новую трассировку scattergeo с _ 2_ установлен в "text", чтобы просто отображать ярлыки.

Вот пример. Я использую dplyr для фильтрации 10 самых больших строк.

df <- read.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_world_gdp_with_codes.csv')

# light grey boundaries
l <- list(color = toRGB("grey"), width = 0.5)

# specify map projection/options
g <- list(
  showframe = FALSE,
  showcoastlines = FALSE,
  projection = list(type = 'Mercator')
)

p <- (plot_ly(df, z = GDP..BILLIONS., text = COUNTRY, locations = CODE, type = 'choropleth',
        color = GDP..BILLIONS., colors = 'Blues', marker = list(line = l),
        colorbar = list(tickprefix = '$', title = 'GDP Billions US$'),
        inherit = FALSE, # don't pass arguments into the next trace
        filename="r-docs/choropleth-with-country-labels") %>%
  layout(title = '2014 Global GDP',
         geo = g) %>% 
  dplyr::arrange(dplyr::desc(GDP..BILLIONS.)))[seq(1, 10), ] %>%
  add_trace(type="scattergeo", # view all scattergeo properties here: https://plot.ly/r/reference/#scattergeo
            locations = CODE, text = COUNTRY, mode="text")

Пример  хороплетной диаграммы с метками стран, сделанными на языке R с помощью plotly

полноэкранная интерактивная версия

person Chris P    schedule 14.09.2015