добавьте квадратные или треугольные маркеры (не кружки) на графическую карту R - PullRequest
0 голосов
/ 07 мая 2018

Я могу нанести круговые маркеры на карту, как в этом примере.Но я хочу изменить форму маркера с кружков на квадраты в add_markers, но я не могу найти решение в справке (add_markers) или онлайн-примерах.Я пытался добавить type = list ("squares"), но, к сожалению, это ничего не изменило.

require(plotly)

df<- read.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_ebola.csv')
# restrict from June to September
df <- subset(df, Month %in% 6:9)
# ordered factor variable with month abbreviations
df$abbrev <- ordered(month.abb[df$Month], levels = month.abb[6:9])
# September totals
df9 <- subset(df, Month == 9)

p <- df %>%
  plot_geo(
    locationmode = 'country names', sizes = c(1, 600), color = I("black")
  ) %>%
  add_markers(
    y = ~Lat, x = ~Lon, locations = ~Country,
    size = ~Value, color = ~abbrev, text = ~paste(Value, "cases")
  ) 
p

1 Ответ

0 голосов
/ 07 мая 2018

Существует параметр с именем symbol.Вы можете использовать

p <- df %>%
  plot_geo(
    locationmode = 'country names', sizes = c(1, 600), color = I("black")
  ) %>%
  add_markers(
    y = ~Lat, x = ~Lon, locations = ~Country,
    size = ~Value, color = ~abbrev, text = ~paste(Value, "cases"),
    symbol = ~abbrev
  ) 
p

Вы также можете указать символы, используя

p <- df %>%
  plot_geo(
    locationmode = 'country names', sizes = c(1, 600), color = I("black")
  ) %>%
  add_markers(
    y = ~Lat, x = ~Lon, locations = ~Country,
    size = ~Value, color = ~abbrev, text = ~paste(Value, "cases"),
    symbol = ~abbrev, symbols = c('circle', 'square', 'x', 'triangle')
  ) 
p

И если вы хотите просто переключить круг на другой символ, используйте:

p <- df %>%
  plot_geo(
    locationmode = 'country names', sizes = c(1, 600), color = I("black")
  ) %>%
  add_markers(
    y = ~Lat, x = ~Lon, locations = ~Country,
    size = ~Value, color = ~abbrev, text = ~paste(Value, "cases"),
    symbol = 'triangle'
  ) 
p

Надеюсь, это поможет.

...