|
本帖最后由 cassiusoat 于 2014-5-8 08:16 編輯 #畫動(dòng)態(tài)氣泡圖 #讀入數(shù)據(jù) #數(shù)據(jù)在excel中進(jìn)行處理,每一個(gè)月為一個(gè)時(shí)間段排列,總體按月升序排列, #在每一個(gè)時(shí)間段中增加一行Apple的數(shù)據(jù),將其縱坐標(biāo)(Volume)設(shè)成極大,使其在畫圖時(shí)不顯示 #其High變量在所有數(shù)據(jù)中的High變量最大 #High變量用來控制圖形的size,這行在每個(gè)時(shí)間段中最大的數(shù)據(jù) #用來控制整體的size_area,使其能反應(yīng)出整體的變化 stocks<-read.csv("Stocks.csv", header=TRUE) head(stocks) #關(guān)閉區(qū)域特定的時(shí)間編碼方式 Sys.setlocale("LC_TIME", "C") #將數(shù)據(jù)的第一列轉(zhuǎn)化為時(shí)間變量 stocks[,1]<-as.Date(stocks[,1]) #挑取時(shí)間單獨(dú)放一組 Date<-stocks[,1] library(ggplot2) #共有7個(gè)公司,總共707行數(shù)據(jù),共11個(gè)月, #外加1個(gè)重復(fù)的APPL,用來控制size_area大小,也為110行 for(i in 1:101){ a=(i-1)*8 TEMP<- qplot(Low, Volume, data=stocks[(a+1):(a+8),], color=NASDAQ.CODE, size= High)+ #設(shè)置size_area大小 scale_size_area(max_size=30,guide=FALSE)+ scale_y_log10(limits=c(136000,136000000))+ scale_x_log10(limits=c(5, 2000))+ scale_colour_brewer(palette="Set1", name="corporate name", breaks=c("AAPL","ADBE","CSCO","IBM","MSFT","ORCL","SNE"), labels=c("Apple","Adobe","Cisco","IBM","Microsoft","Oracle","SONY"))+ annotate("text", x=280, y=100000000, label = as.character(Date[a+1]),size=5,color="grey") #用paste來黏貼字符串,使其能夠循環(huán)輸出圖像,并選擇cairo-png輸出,來抗鋸齒生成高質(zhì)量圖片 ggsave(TEMP,file=paste((i+1000),".png",sep=""),width=5,height=4,type="cairo-png") } #接下來將所有的圖片用photoshop或其他gif軟件轉(zhuǎn)化為gif或動(dòng)畫 #OK是不是很震驚?。其實(shí)原理是一樣的,但是效果來說會(huì)更好也更簡單 #選幾個(gè)顯著性的來說明一下圖的意義 #可以發(fā)現(xiàn)蘋果公司從2006年以來發(fā)展十分迅猛,最近股價(jià)都已經(jīng)600刀了 #IBM是比較穩(wěn)定的股票 #SONY股價(jià)波動(dòng)很嚴(yán)重 #再總結(jié)一下 #用ggplot來畫動(dòng)態(tài)圖是通過一張張圖片疊起來的,并沒有直接的動(dòng)畫來的光滑,推薦大家可以試試googlevis #來畫更好的動(dòng)態(tài)氣泡圖 #動(dòng)態(tài)氣泡圖用來展現(xiàn)多維的大數(shù)據(jù),至少可以顯示5個(gè)變量(x,y,color,time,size),個(gè)人覺得最好橫縱坐標(biāo) #為具有共線性行的變量,能夠反映正態(tài)的發(fā)展趨勢 #對于本次作業(yè),變量太少,額外找了幾個(gè)公司一并放上去進(jìn)行處理才有了比較好的可視化效果 #總得來說ggplot做動(dòng)態(tài)氣泡圖還是不太合適,over
Stocks.zip
(18.26 KB, 下載次數(shù): 78)
|
|
|