将正方形或三角形标记(不是圆形)添加到 R 绘图中

Adr*_*ins 4 r ggplot2 r-plotly

我可以在地图上绘制圆形标记,如本例所示。但我想在 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
Run Code Online (Sandbox Code Playgroud)

lcg*_*doy 5

有一个参数叫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
Run Code Online (Sandbox Code Playgroud)

您还可以指定符号,使用

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
Run Code Online (Sandbox Code Playgroud)

如果您只想将圆圈切换到另一个符号,请使用:

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
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。

  • “triangle-up”对我来说代替“triangle”(plotly_4.9.2.1) (2认同)