2013-12-09 90 views
-3

在R我正在尋找創建一個類似於下面的熱圖。尺寸代表排出的能量,顏色代表深度。地雷的氣泡圖

我的數據集(CSV)看起來是這樣的:

X,  Y,  Z,  E 
19305, -11211, -599, 3000 
22159, -13553, -600, 300 
22155, -13519, -823, 2000 
...  ...  ... ... 

其中X,Y & Z的軸,E爲能量。

我已經花了幾個小時玩R,但無法完成我已經設定的內容。請儘可能提供示例代碼。

Related

謝謝!

heatmap

+0

「請提供示例代碼」 - 這不是SO的工作原理。 –

+0

http://stackoverflow.com/questions/19262805/r-geom-point-and-ggmap/ –

+3

這不是一個「熱圖」。查找「氣泡圖」或「氣球圖」 –

回答

2

編輯:更新使用更多的有意義的數據。最初的迴應是在底部。

此地圖...

...可以用下面的代碼生成:

library(ggplot2) 
library(maptools) 

# grab earthquake data [source: USGS Earthquake Hazards Program] 
url <- "http://comcat.cr.usgs.gov/fdsnws/event/1/query" 
querystring <- "starttime=2012-01-01T00:00:00Z" 
querystring <- paste(querystring,"minmagnitude=6", sep="&") # magnitude >= 6 
querystring <- paste(querystring,"mindepth=0",  sep="&") 
querystring <- paste(querystring,"maxdepth=1000", sep="&") # depth <= 1000 km 
querystring <- paste(querystring,"format=csv",  sep="&") # return CSV file 
uri <- paste(url,querystring,sep="?") 
ggQuakes <- read.table(header=T,sep=",", file=uri) 
# grab world map [built into maptools package] 
ggMap <- fortify(wrld_simpl) 
# create map payers 
ggp <- ggplot(ggQuakes) 
ggp <- ggp + geom_point(aes(x=longitude ,y=latitude ,color=depth ,size=mag), alpha=0.8) 
ggp <- ggp + scale_size(range=c(4,8)) 
ggp <- ggp + scale_color_gradient(low="#aaaaaa", high="#cc0000") 
ggp <- ggp + geom_path(data=ggMap, aes(x=long, y=lat, group=group)) 
ggp <- ggp + coord_equal() 
ggp <- ggp + theme(legend.position="bottom") 
# render map 
print(ggp) 

原始響應:

這將是更好的,如果您提供了更具代表性的樣本數據,但調用您的數據集gg

library(ggplot) 
ggplot(gg) + 
    geom_point(aes(x=X,y=Y,color=Z,size=log(E)), alpha=0.5) + 
    scale_size(range=c(4,8)) +  # sets minimum and maximum size 
    scale_color_gradient(low="#aaaaaa", high="#cc0000") 

我使用了一個日誌(能量)量表,因爲水平如此不同。

+0

謝謝jlhoward!我也在下面發佈了我自己的解決方案.Dinin指出了我的正確方向。 – bskool

+0

@bskool - 請參閱上面的編輯。 – jlhoward

0
symbols(quakes$X, quakes$Y, circles=quakes$E) 

radius <- sqrt(quakes$E/ pi) 
symbols(quakes$X, quakes$Y, circles=radius) 

symbols(quakes$X, quakes$Y, circles=radius, inches=0.35, fg="white", bg="red", xlab="Murder Rate", ylab="Burglary Rate") 

只是缺少ž彩色化。