![](/img/trans.png)
[英]Change legend marker size for Plotly scatter plot (bubble chart) in Python
[英]size legend for plotly bubble map/chart
這是一個陰謀“氣泡”地圖(即帶有標記的地圖,其大小映射到變量)。 但是,圖例僅顯示顏色類別,但不顯示尺寸與值的關系。
library(plotly)
DF = data.frame(
Group = c("A", "B", "A", "B", "A", "C", "C"),
Value = c(100, 80, 90, 150, 120, 60, 110),
lat = c( 40, 32, 36, 44, 31, 39, 37),
long = c(-90, -100, -120, -110, -90, -80,-105))
plot_geo(DF, locationmode = 'USA-states') %>%
add_markers(y=~lat, x=~long, color=~Group, size=~Value,
marker=list(sizeref=0.1, sizemode="area")) %>%
layout(geo=list(scope = 'usa'))
此問題顯示如何控制標記的大小,但不回答如何在圖例中顯示這些大小。 在這個和這個問題中,我們可以看到,如果每個類別只有一個與之關聯的標記大小,那么圖例將顯示縮放到它們在氣泡圖中的大小的標記。 但這在這里沒有用。 情節網站上有泡泡圖和氣泡圖的例子,但這些都沒有尺寸圖例。
有沒有辦法將標記大小的圖例添加到圖表中的氣泡圖/地圖中? 上面的例子使用R api,但使用另一個plotly api(例如python)的答案也是可以接受的。
我已經在原帖中鏈接了這個問題,並解釋了為什么它不同。 但是讓我試着更清楚地解釋一下這個區別,因為有人已將它標記為可能重復...
鏈接的問題涉及由於在數據中每個類別只有一個大小而在圖例中顯示不同的氣泡大小的人 。 相比之下,該示例中的類別各自具有不同大小的氣泡。 鏈接問題中的OP想知道如何擺脫圖例中的不同大小 - 而不是如何將值映射到圖例中的大小。 鏈接問題中的答案為實現這一目標提供了各種質量的解決方法。 但是,在這個問題中,我已經有了一個標記大小相同的圖例。 我想要的是添加一個圖例,該圖例顯示各種尺寸的氣泡,每個氣泡都標有該尺寸對應的值。 鏈接帖子中沒有任何內容詢問或顯示如何實現這一點。
在看到一些關於這個問題的評論意見表明無法做到這一點之后,我又自己做了一個評論,這里有一種非常好的方法。
legend.sizes = seq(80, 160, 20)
ax = list(zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE)
mk = list(sizeref=0.1, sizemode="area")
p.map = plot_geo(DF, locationmode = 'USA-states') %>%
add_markers(x = ~long, y = ~lat, color = ~Group, size = ~Value, marker = mk) %>%
layout(geo = list(scope = 'usa'))
p.legend = plot_ly() %>%
add_markers(x = 1, y = legend.sizes, size = legend.sizes, showlegend = F, marker = mk) %>%
layout(xaxis = ax, yaxis = list(showgrid = FALSE))
subplot(p.legend, p.map, widths = c(0.1, 0.9))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.