我希望显示一个颜色范围,该范围根据值的对数分配颜色,但保持颜色标签和悬停状态不变。 例如,请考虑该图表,该图表将受益于日志记录。
library(rjson)
library(plotly)
url <- 'https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json'
counties <- rjson::fromJSON(file=url)
url2<- "https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv"
df <- read.csv(url2, colClasses=c(fips="character"))
variableWePretendWeWantToGraph <- df$unemp^4
fig <- plot_ly()
fig <- fig %>% add_trace(
type="choroplethmapbox",
geojson=counties,
locations=df$fips,
z=variableWePretendWeWantToGraph,
colorscale="Viridis",
zmin=0,
zmax=max(variableWePretendWeWantToGraph),
marker=list(line=list(
width=0),
opacity=0.5
)
)
fig <- fig %>% layout(
mapbox=list(
style="carto-positron",
zoom =2,
center=list(lon= -95.71, lat=37.09))
)
fig
(注意:要获得一个可以从中受益的图形,我只是以一个效果很好的示例数据集为例,并将其提高为4的幂以显示创建了无用的颜色图)
目标是显示一张漂亮的地图,但将标签保留在适当的位置(即,颜色栏上的4个刻度将是300000
,(e ^(log(300000)* 2/3)= 4481
,(e ^(log(300000)* 1/3)= 66
,1
)
是否有内置的方法可以设置颜色以记录原木,还是需要计算色标并将自定义标签放在颜色栏和悬停上? 在https://plotly.com/r/reference/#choroplethmapbox这里的文档中,有多个引用,例如
...如果轴
type
是“ log” ...
,但没有有关如何实际设置的说明。尝试layout(zaxis = list(type = "log"))
无效。