如何在地图上的R中以图形方式更改标记大小?如果我将size参数设置为任何数字,它会使它变得相同,尺寸太大.如果我将它映射到我的数据中的变量,那么标记就会很小,以便能够首先区分它们.理想情况下,我想通过映射到变量来增加基本大小并保持比例方面.
可重复的例子:
library(data.table)
library(plotly)
library(dplyr)
sample <- data.table(Region=c("Illinois","Illinois","California","California","Texas","Texas"),
code=c("IL","IL","CA","CA","TX","TX"),
Group=c("A","B"),
Value=rnorm(6, mean=100, sd=6))
sample[Region=="Illinois", c('lat', 'long') := list(40.3363, -89.0022)]
sample[Region=="California", c('lat', 'long') := list(36.17, -119.7462)]
sample[Region=="Texas", c('lat', 'long') := list(31.106, -97.6475)]
x <- list(
scope = 'usa',
projection = list(type = 'albers usa'),
showlakes = F,
lakecolor = toRGB('lightblue')
)
sample %>%
plot_geo(
locationmode='USA-states'
) %>%
add_markers(
y=~lat, x=~long, hoverinfo="text",
color=~Group,
text=~Group, size=~Value
) %>%
layout(
title='plotly marker map',
geo=x
)
Run Code Online (Sandbox Code Playgroud)
最简单,也许是规范的方法是使用该marker.sizeref属性.你把它包装marker=list(...)成这样的
plot_geo(sample, locationmode='USA-states') %>%
add_markers(y=~lat, x=~long, hoverinfo="text",
color=~Group, text=~Group, size=~Value,
marker=list(sizeref=0.1, sizemode="area")) %>%
layout(title='plotly marker map', geo=x)
Run Code Online (Sandbox Code Playgroud)
请注意,sizeref标记越小,标记越大.例如,用sizeref=0.02我们得到
使用的问题size在于,您实际上是在为所有标记指定精确的大小。
OTOH 您可以使用该sizes参数按比例缩放基本尺寸和像素之间的映射。
例如:
library(data.table)
library(plotly)
library(dplyr)
sample <- data.table(Region=c("Illinois","Illinois","California","California","Texas","Texas"),
code=c("IL","IL","CA","CA","TX","TX"),
Group=c("A","B"),
Value=rnorm(6, mean=100, sd=6))
sample[Region=="Illinois", c('lat', 'long') := list(40.3363, -89.0022)]
sample[Region=="California", c('lat', 'long') := list(36.17, -119.7462)]
sample[Region=="Texas", c('lat', 'long') := list(31.106, -97.6475)]
x <- list(
scope = 'usa',
projection = list(type = 'albers usa'),
showlakes = F,
lakecolor = toRGB('lightblue')
)
sample %>%
plot_geo(
locationmode='USA-states'
) %>%
add_markers(
sizes=c(1000,100),
y=~lat, x=~long, hoverinfo="text",
color=~Group,
text=~Group, size=~Value
) %>%
layout(
title='plotly marker map',
geo=x
)
Run Code Online (Sandbox Code Playgroud)
这是缩放之前地图的样子(即使用问题中的代码):
这是缩放后地图的样子(即上面代码中的地图):
当然,我相当随意地选择了具体值,您可能需要对其进行调整。A我还认为为和指定不同的颜色可能是有利的B。
下面是一个示例,我使用颜色来帮助增加A和之间的视觉区别B,同时保持缩放比例:
sample %>%
plot_geo(
locationmode='USA-states'
) %>%
add_markers(
sizes=c(1000,100),
y=~lat, x=~long, hoverinfo="text",
color=~Group,
colors = c("blue", "yellow"),
text=~Group,
size=~Value
) %>%
layout(
title='plotly marker map',
geo=x
)
Run Code Online (Sandbox Code Playgroud)
另一种变化:
另一个:
| 归档时间: |
|
| 查看次数: |
5522 次 |
| 最近记录: |