Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R绘图,悬停文本从2个数据帧读取_R_Ggplot2_Plotly_Ggplotly - Fatal编程技术网

R绘图,悬停文本从2个数据帧读取

R绘图,悬停文本从2个数据帧读取,r,ggplot2,plotly,ggplotly,R,Ggplot2,Plotly,Ggplotly,我目前有一张地图,它从两个不同的数据框中绘制了站点。我一套有红点,另一套有蓝点。我可以从一个数据帧读取悬停文本,但是当悬停在另一个颜色站点上时,如何从另一个数据帧读取悬停文本 这是到目前为止我的代码 …获取世界多边形并提取英国 library(maps) UK <- map_data("world") %>% filter(region=="UK") png("JCMap.png") JCMap <- ggplot() + geom_polygon(data = UK,

我目前有一张地图,它从两个不同的数据框中绘制了站点。我一套有红点,另一套有蓝点。我可以从一个数据帧读取悬停文本,但是当悬停在另一个颜色站点上时,如何从另一个数据帧读取悬停文本

这是到目前为止我的代码

…获取世界多边形并提取英国

library(maps)
UK <- map_data("world") %>% filter(region=="UK")

png("JCMap.png")

JCMap <- ggplot() +
  geom_polygon(data = UK, aes(x=long, y = lat, group = group), fill="grey", color = "dark grey",alpha=0.3) +

  geom_point( data=sitesgeo, aes(x=long, y=lat), colour = 'blue', alpha = 0.5)+

  geom_point( data=SCBenchmarks, aes(x=long, y=lat), size = 2, colour = 'red') +

  theme_void() + ylim(50,59) + coord_map()+

  theme(legend.position="none")+

  ggtitle("Sites")+
  theme(
    plot.background = element_rect(fill = "#f5f5f2", color = NA),

    panel.background = element_rect(fill = "#f5f5f2", color = NA), 

    plot.title = element_text(size= 16, hjust=0.1, color = "#4e4d47", margin = margin(b = -0.1, t = 0.4, l = 2, unit = "cm")),

  )
print(JCMap)

JCMap
任何帮助都将不胜感激


干杯

我在朋友的一点帮助下解决了这个问题,这可能不是最方便的方法,但很有效……请参见下面的代码

##密谋 标准现金基准%

变异(mytext=paste(站点名称,“\n”,“客户:”,客户密钥,“\n”,“每个人的客户:”,每个人的客户,“\n”,sep=”“))

最终百分比

变异(mytext=paste(站点名称“\n”、地区名称“\n”、“客户:”、客户计数“\n”、sep=”“))

##使静态打印调用此文本:


p第二个块的第三个
geom_point()
缺少一个数据帧?这与p=SCBenchmarks有关,几乎就像我需要做两个p=otherdataframe,但我不知道如何编码。
library(plotly)

p=SCBenchmarks %>%

  mutate( mytext=paste("Site: ", site_name, "\n", "Customers: ", claimant_key, sep="")) %>%

  ggplot() +

  geom_polygon(data = UK, aes(x=long, y = lat, group = group), fill="grey", alpha=0.3) +

  geom_point(data=sitesgeo,aes(x=long, y=lat), colour = 'blue', alpha = 0.5) +

  geom_point(aes(x=long, y=lat, text=mytext), colour = 'red', alpha = 1) +


  scale_size_continuous(range=c(1,15)) +

  scale_color_viridis(option="inferno", trans="log" ) +

  scale_alpha_continuous(trans="log") +

  theme_void() +

  ylim(50,59) +

  coord_map() +

  theme(legend.position = "none")


p=ggplotly(p, tooltip="text")

p