PlotGoogleMaps - 在bubbleGoogleMaps中需要帮助

时间:2016-02-26 05:29:09

标签: r

我正在学习R,到目前为止我喜欢它。我对#34; plotGoogleMaps"中提供的示例之一印象深刻。包。是否可以应用我的下面的例子?请帮忙。

我在包中看到的例子

    # Data preparation
    library(plotGoogleMaps)
    data(meuse)
    coordinates(meuse)<-~x+y
    proj4string(meuse) <- CRS('+init=epsg:28992')

    m<-bubbleGoogleMaps(meuse,zcol='zinc')

    m<-bubbleGoogleMaps(meuse,zcol='cadmium',layerName='Bubble plot - meuse',
                        colPalette=terrain.colors(5),strokeColor=&rdquo;)

我想将上面的示例地图应用于我的以下数据。 在我的例子中,sale = zinc(在上面的例子中)。当我突出我的泡泡时,我想展示我的其他属性。

  library(plotGoogleMaps)
    bubblechart = read.table(text="Itemcode,sale,name,longt,latit
                        101,1112,A,-89.6171,35.24992
                   105,1540,B,-90.0154,35.10510
                   106,2200,C,-89.5213,34.93277
                   111,1599,D,-86.8642,36.34807
                   113,4500,E,-86.6125,36.19958
                   114,3569,F,-90.4611,30.02196",
                   header=TRUE,sep=",")

请帮忙......

1 个答案:

答案 0 :(得分:1)

bubbleGoogleMaps()要求您转换SpatialPointsDataFrame中的bubblechart数据。为此,您需要指定测量经度和纬度的坐标和参考系统。有一个相关的GIS stackexchange问​​题:Converting geographic coordinate system in R。 另请参阅World Geodetic System的维基百科页面(由GPS使用)。

检查现有的SpatialPointsDataFrame

library(plotGoogleMaps)
data(meuse)
# meuse is a data frame
class(meuse)
# Specify coordinates and projection system
coordinates(meuse)<-~x+y
proj4string(meuse) <- CRS('+init=epsg:28992')
# meuse has become a "SpatialPointsDataFrame"
class(meuse)
# Which contains several objects
class(meuse@data)
class(meuse@coords)
summary(meuse@coords)
class(meuse@bbox)
class(meuse@proj4string)
help(SpatialPointsDataFrame)
# Convert meuse back to a data frame 
meusedtf <- as.data.frame(meuse)

创建您自己的SpatialPointsDataFrame

# Set coordinates and reference system
coordinates(bubblechart) <- ~longt +latit
proj4string(bubblechart) <- CRS("+init=epsg:4326") # WGS 84

生成地图

m <- bubbleGoogleMaps(bubblechart, zcol='sale', max.radius = 20000)

enter image description here

更改max.radius参数以更改气泡大小。并更改key.entries参数以设置销售值的不同边界。

您还可以使用以下内容将销售泡泡显示为R图:

plot(bubblechart)
points(bubblechart@coords, pch=21, cex=(bubblechart$sale)/1000, col="black", bg="blue")
bubble(bubblechart, "sale", maxsize = 2.5, main = "Sales in the US", key.entries = 2^(-1:4))

如果您在后台添加美国各州的地图以帮助识别这些区域,这些R图会更好看。