Bugün R dersimizde grafik tasarımı noktasında müthiş ilerleme kaydetmiş olan Google Visualize paketinden bahsedeceğim. Geleneksel grafik çizimlerinin dışına çıkarak farklı objelerle farklı görünüm efektlerini bizlere sunan Google, R programı içerisinde de “googleVis” isimle paket ile karşımıza çıkıyor. Grafiklerin içerisinde Google mapten faydalanılarak oluşturulan yoğunluk grafikleri de mevcuttur. Aşağıda belli başlı grafik örneklerini görebilirsiniz.


Hemen örneklerimize geçelim. Öncelikle ilgili paketi indirelim ve kullanıma açalım.
install.packages("googleVis")
library("googleVis")
Örnekleri görebilmemiz için bir veri seti oluşturalım ve tek bir data frame içerisine alalım.
df=data.frame(country=c("TR", "USA", "RU","CH"), val1=c(10,13,14,18), val2=c(23,12,32,43))
Yukarıda “c” komutuyla bir dizi oluşturduk ve içerisine metin değeri olan ülke isimlerini girdik. “val1” ve “val2” bizim sütunlarımızı oluşturmaktadır. Sonrasında bir data frame içerisine attık ve “df” olarak isimlendirdik. Şimdi grafik çizdirmeye konusuna gelelim
daha öncesinden hatırladığınız gibi R içerisinde grafik çizdirmek istediğimiz zaman plot() yada hist() gibi komutları direk kullanabiliyorduk. Fakat googlevis içinde grafik çizdireceksek öncelikle veriyi bir komut aracılığıyla değişkene aktarıp sonrasında grafik çizdiriyoruz.
LİNE GRAFİK
hat <- gvisLineChart(df)
plot(hat)
Yukarıdaki komutları uyguladığınızda karşınıza bir pencere açılacaktır. Bunun anlamı grafik R içerisinde değil belli bir host üzerinden çizdirilmektedir. Bu grafiği iki boyutlu hale getirebilmek için bazı ek argüman kullanılmalıdır.
hat <- gvisLineChart(df, "country", c("val1","val2"),options=list(series="[{targetAxisIndex: 0},{targetAxisIndex:1}]",vAxes="[{title:'val1'}, {title:'val2'}]"))
plot(hat)
BAR GRAFİĞİ
Bar <- gvisBarChart(df)
plot(Bar)
SÜTUN GRAFİĞİ
Column <- gvisColumnChart(df)
plot(Column)
ALAN GRAFİĞİ
Area <- gvisAreaChart(df)
plot(Area)
SEKMELİ ALAN GRAFİĞİ
SteppedArea <- gvisSteppedAreaChart(df, xvar="country", yvar=c("val1", "val2"), options=list(isStacked=TRUE))
plot(SteppedArea)
COMBO GRAFİĞİ
Combo <- gvisComboChart(df, xvar="country", yvar=c("val1", "val2"), options=list(seriesType="bars", series='{1: {type:"line"}}'))
DAĞILIM GRAFİĞİ
Scatter <- gvisScatterChart(women, options=list(legend="none",lineWidth=2, pointSize=0, title="Women", vAxis="{title:'weight (lbs)'}",hAxis="{title:'height (in)'}", width=300, height=300))
plot(Scatter)
BALON GRAFİĞİ
Bubble <- gvisBubbleChart(Fruits, idvar="Fruit", xvar="Sales", yvar="Expenses",colorvar="Year", sizevar="Profit",options=list(hAxis='{minValue:75, maxValue:125}'))
plot(Bubble)
ÇİZGİLERİ AYARLAMA İŞLEMİ
Dashed <- gvisLineChart(df, xvar="country", yvar=c("val1","val2"),options=list(series="[{color:'green', targetAxisIndex: 0, lineWidth: 1, lineDashStyle: [2, 2, 20, 2, 20, 2]}, {color: 'blue',targetAxisIndex: 1, lineWidth: 2, lineDashStyle: [4, 1]}]", vAxes="[{title:'val1'}, {title:'val2'}]"))
plot(Dashed)
NOKTA AYARLARI
M <- matrix(nrow=6,ncol=6)
M[col(M)==row(M)] <- 1:6
dat <- data.frame(X=1:6, M)
SC <- gvisScatterChart(dat,
options=list(
title="Customizing points",
legend="right",
pointSize=30,
series="{
0: { pointShape: 'circle' },
1: { pointShape: 'triangle' },
2: { pointShape: 'square' },
3: { pointShape: 'diamond' },
4: { pointShape: 'star' },
5: { pointShape: 'polygon' }
}"))
plot(SC)
UYARLAMA İÇİN EDİT BUTONU
Line4 <- gvisLineChart(df, "country", c("val1","val2"),
options=list(gvis.editor="Edit me!"))
plot(Line4)
GRAFİK İÇİN BİRÇOK AYARLAMA
Line3 <- gvisLineChart(df, xvar="country", yvar=c("val1","val2"),
options=list(
title="Hello World",
titleTextStyle="{color:'red',
fontName:'Courier',
fontSize:16}",
backgroundColor="#D3D3D3",
vAxis="{gridlines:{color:'red', count:3}}",
hAxis="{title:'Country', titleTextStyle:{color:'blue'}}",
series="[{color:'green', targetAxisIndex: 0},
{color: 'orange',targetAxisIndex:1}]",
vAxes="[{title:'val1'}, {title:'val2'}]",
legend="bottom",
curveType="function",
width=500,
height=300
))
plot(Line3)
MUM ÇUBUĞU GRAFİĞİ
Candle <- gvisCandlestickChart(OpenClose,
options=list(legend='none'))
plot(Candle)
ÖLÇÜM GRAFİĞİ
Gauge <- gvisGauge(CityPopularity,
options=list(min=0, max=800, greenFrom=500,
greenTo=800, yellowFrom=300, yellowTo=500,
redFrom=0, redTo=300, width=400, height=300))
plot(Gauge)
YOĞUNLUK HARİTASI
Intensity <- gvisIntensityMap(df)
plot(Intensity)
Soru ve önerileriniz için aşağıdaki chat penceresini kullanabilir ya da sayfamızıdan bizimle iletişime geçebilirsiniz.