我正在遵循本页给出的构建分区图的模型:多边形的颜色有点透明,我尝试改变不透明度的任何东西都没有任何效果。
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中制作的Map和我在Leaflet中使用完全相同的调色板制作的Map,只是为了显示我得到的和我想要的之间的差异。(忽略背景单张Map和县线,对颜色没有影响。
3条答案
按热度按时间kx1ctssn1#
看来你的不透明度已经为默认调色板最大了.如你所见,我可以使图像更加不透明:
因此,如果您使用不同的调色板(在本例中,我使用viridis::magma)
2izufjch2#
这使我心烦意乱。尽管Plotly越来越强大,但它仍然有一些非常基本的缺点。我试图用导入的多边形数据制作一张中国各省的分区图,但不知道为什么颜色被洗掉了。我还遇到了一个问题,在顶部添加另一条轨迹以获得黑色轮廓将使整个Map呈浅灰色,掩盖了下面的颜色。
在花了比我应该花的时间更多的时间之后,我终于在手册中发现了这个,在scattergeo下(因为这个Map的类型实际上不是choropleth):
fillcolor(颜色)
设置填充颜色。默认为线颜色、标记颜色或标记线颜色的半透明变体,以可用的为准。
换句话说:
color
和colors
实际上作用于线条颜色,而不是fillcolor
。如果未设置fillcolor
,它将获得与线条相同的颜色,不透明度为50%。应该有一种方法可以让color
和colors
直接在fillcolor
上工作,但似乎不是这样。Fillcolor只能设置为单一颜色,不能根据变量更改其值。我不是Plotly的Maven,但这是我对它如何工作的理解。
u7up0aaq3#
你可以简单地在plot_ly调用中添加
alpha=1
: