我正在关注用于构建此页面上的等值区域地图的模型:https://plot.ly/r/county-level-choropleth/。多边形颜色有点透明,我试图改变不透明度的任何东西都没有任何效果。
library(ggplot2) # For the demo map data
library(plotly)
ohio_counties <- map_data('county', 'ohio')
# This id simulates the categorical variable I'm trying to represent with color
ohio_counties$id <- letters[ohio_counties$group %% 6 + 1]
ohio_counties %>%
group_by(group) %>%
plot_ly(x = ~long,
y = ~lat,
color = ~id) %>%
add_polygons(line = list(width = 0.4))
我已尝试将opacity = 1
作为参数添加到plot_ly()
来电和add_polygons
,我尝试使用自己的自定义色标,但似乎所有人都有相同数量的透明度。我可以摆脱网格线,但后来我仍然坚持使用褪色的柔和色彩。
编辑:使用完全相同的调色板比较Plotly中制作的地图与我在Leaflet中制作的地图,只是为了显示我得到的和我想要的之间的区别。 (忽略背景传单地图和县行,对颜色没有影响。)
答案 0 :(得分:1)
您的不透明度似乎已经超出了默认调色板......如您所见,我可以使图像更不透明:
> ohio_counties %>%
+ group_by(group) %>%
+ plot_ly(x = ~long,
+ y = ~lat,
+ color = ~id,opacity=.2) %>%
+ add_polygons(line = list(width = 0.4))
所以,如果你使用不同的调色板(在这种情况下我使用的是viridis :: magma)
> require(viridis)
> ohio_counties %>%
+ group_by(group) %>%
+ plot_ly(x = ~long,
+ y = ~lat,
+ color = ~id,colors=viridis::magma(6)) %>%
+ add_polygons(line = list(width = 0.4))
答案 1 :(得分:1)
这让我分心。尽管Plotly变得非常强大,但它仍然存在一些非常基本的缺点。我试图使用导入的多边形数据制作中国省份的等值线图,但无法弄清楚为什么颜色会被淘汰。我还有一个问题,即在顶部添加另一条痕迹以获得黑色轮廓会使整个地图变为浅灰色,从而掩盖下面的颜色。
花了更多的时间比我应该弄清楚的那样,我终于在手册中发现了这个,在scattergeo下(因为这张地图的类型实际上不是等等):
fillcolor(颜色)
设置填充颜色。默认为半透明 线条颜色,标记颜色或标记线颜色的变体, 无论哪个可用。
换句话说:color
和colors
实际上适用于线条颜色,而不是fillcolor
。如果未设置fillcolor
,则会获得与线条相同的颜色,不透明度为50%。 color
和colors
应该有办法直接在fillcolor
上工作,但事实并非如此。 Fillcolor只能设置为单一颜色,而不是根据变量更改其值。
我不是Plotly的专家,但这是我对它如何运作的理解。