有没有办法使用串扰来防止饼图子图在 R 中使用 Plotly 改变其域?
这里的想法是在左侧有一个等值线图,在右侧有一个饼图。当我点击地图上的一个国家时,饼图会显示该国家的数据。我使用 SharedData 对象,两个子图之间的链接工作正常。
问题是:饼图子图保持在我的数据框中第一个位置代码的位置(在本例中为 AUS),但是当我单击另一个国家/地区时,饼图移动到图的中心。
也许这是一个错误或尚未实施?
这是我的代码:
library(plotly)
library(crosstalk)
df <- data.frame(Code = rep(c("AUS", "BRA", "CAN", "USA"),each = 4),
Category = rep(c("A","B","C","D"),4),
Values = rep(c(10,15,5,20),each=4),
Perc = c(10, 20, 20, 50,
35, 5, 15, 45,
5, 75, 5, 15,
60, 30, 10, 0))
shared_data <- SharedData$new(df, key = ~Code)
p1 <- shared_data %>%
plot_geo(z = ~Values,
zmin=0,
zmax=20,
color = ~Values,
locations = ~Code,
visible=T)
p2 <- shared_data %>%
plot_ly(type = "pie",
visible = T,
showlegend = F,
values = ~Perc,
labels = ~Category,
domain = list(x = c(0.5, 1),
y = c(0,1)),
hole = 0.8,
sort = F) %>%
layout(autosize = T, geo = list(domain = list(x = c(0.5, 1),
y = c(0,1)
))
)
sp1 <- subplot(p1, p2) %>%
hide_legend() %>%
hide_colorbar() %>%
layout(xaxis = list(domain=c(0,0.5)), #adding this does not work either
xaxis2 = list(domain=c(0.5,1)))