Bab IV Desain Pemodelan Grafik
07.21
By
Unknown
0
komentar
CONTOH KASUS
4.1 BUBBLE
CHART
4.1.1 CONTOH KASUS
SATU
Sebuah diagram bubble adalah jenis grak yang
menampilkan tiga dimensi data. Setiap entitas dengan triplet nya (v1, v2, v3)
dari data yang terkait diplot sebagai disk yang mengungkapkan dua dari
nilainilai vi melalui lokasi xy disk dan yang ketiga melalui ukurannya. Grak
gelembung dapat memfasilitasi pemahaman hubungan ilmiah sosial, ekonomi,
kesehatan, dan lainnya.
Sebuah grak gelembung adalah
variasi dari grak scatter di mana titik data diganti dengan gelembung. Sebuah
grak gelembung dapat digunakan sebagai pengganti dari grak scatter jika data
Anda memiliki tiga seri data, masing-masing berisi satu set nilai. Sebagai
contoh, lembar kerja pada gambar berikut ini berisi nilai-nilai untuk tiga
jenis data: jumlah produk, nilai dolar dari penjualan, dan ukuran persentase
pangsa pasar.
Dalam grak Bubble, ukuran gelembung ditentukan oleh
nilai-nilai dalam seri ketiga data. Misalnya, Bubble grak menampilkan uku-
ran gelembung berikut yang sesuai dengan nilai-nilai pada
kolom dari data sampel (Pangsa pasar%).
Perhatikan bahwa data dalam gelembung grak ini diplot sebagai
berikut:
Jumlah produk yang ditampilkan
di sepanjang horizontal ( x ) axis.
Jumlah
penjualan ditampilkan bersama vertikal (y) sumbu.
Pangsa pasar persentase
diwakili oleh ukuran gelembung.
Sebuah grak gelembung menampilkan seperangkat
nilai-nilai numerik sebagai lingkaran. Hal ini terutama berguna untuk set data
dengan puluhan hingga ratusan nilai-nilai, atau dengan nilai-nilai yang berbeda
dengan beberapa kali lipat.
Lingkaran dalam grak gelembung
mewakili nilai-nilai data yang berbeda , dengan luas lingkaran sesuai dengan
nilai . Posisi gelembung tidak berarti apa-apa , tetapi dirancang untuk
berkemas lingkaran bersama-sama dengan ruang yang relatif sedikit terbuang .
Karena grak gelembung menggunakan daerah untuk mewakili angka
, yang terbaik adalah untuk
nilai-nilai positif . Jika kumpulan data Anda termasuk nilai-nilai negatif ,
mereka akan ditampilkan dalam warna yang berbeda : lingkaran untuk 100 dan
lingkaran untuk -100 akan baik menjadi ukuran yang sama , tapi mungkin 100 biru
dan -100 mungkin merah. Jika set data Anda memiliki banyak angka negatif ,
pertimbangkan untuk menggunakan blok histogram sebagai gantinya.
Untuk melihat nilai yang tepat dari lingkaran pada
tabel, gerakkan mouse Anda di atasnya . Jika Anda telah memetakan lebih dari
satu dimensi , menggunakan menu untuk memilih dimensi untuk menunjukkan . Jika
set data Anda memiliki beberapa kolom numerik , Anda dapat memilih kolom untuk
dasar lingkaran ukuran pada dengan menggunakan menu di bagian bawah grak .
Sebuah
grak gelembung adalah variasi dari grak scatter di mana titik data diganti
dengan gelembung. Sebuah grak gelembung dapat digunakan sebagai pengganti dari
grak scatter jika data Anda memiliki tiga seri data, masing-masing berisi satu
set nilai.
Grak gelembung yang tidak biasa, namun memiliki
keunggulan. Mereka terbaca dapat menunjukkan nilai-nilai data yang berbeda
dengan rasio 100.000, dan dapat menampilkan ratusan nilai individual sekaligus.
Anda dapat menganggap mereka sebagai melakukan akar kuadrat visual yang
mengubah pada kumpulan data.
4.1.2 CONTOH KASUS
DUA
Contoh di atas membandingkan 5 perusahaan menggunakan 3
ukuran:
Jenis produk yang dijual (sumbu
x)
Nilai penjualan (sumbu y)
Persentase
pangsa pasar (sumbu z)
Dengan grak ini, dengan cukup mudah orang bisa melihat
bahwa lingkaran yang lebih besar menunjukkan pangsa pasar yang lebih besar
pula. Selanjutnya lokasi di mana lingkaran tersebut berada menunjukkan seberapa
banyak jenis produk yang dijual dan berapa nilai penjualannya. Perhatikan bahwa
presisi tidak terlalu jelas dalam grak gelembung karena fungsinya memang untuk
menunjukkan perbedaan relatif antara data-data yang diperbandingkan secara
visual dan cepat.
4.1.3 CONTOH KASUS
TIGA
Gambar diatas adalah contoh Bubble chart pada
JSFIDDLE, pada gambar diatas kita dapat melihat bubble chart asupan gula dan
lemak per negara. pada gambar diatas kita membandingkan beberapa negara dengan
menggunakan 3 ukuran, yaitu:
asupan
gula (sumbu Y) asupan lemak (sumbu X) obesitas pada orang dewasa (sumbu Z)
dengan grak ini kita dapat melihat bahwa negara dengan
lingkaran terbesar adalah negara dengan asupan gula dan lemak tertinggi dan
yang terkecil adalah yang terenda. berikut adalah kodingan dalam chart yang
telah kita buat diatas menggunakan JSFIDDLE: $(function () {
Highcharts.chart(’container’, { chart: { type: ’bubble’, plotBorderWidth: 1 ,
zoomType: ’xy’ } , legend: { enabled: false } , title:
{
text: ’Sugar and fat in take per country’ } , subtitle: { text: ’Source: <a
href="http://www. euromonitor.com/">Euromonitor</a> and
<a href="https://data.oecd.org/"> OECD</a>’ } , xAxis: {
gridLineWidth: 1 , title: { text: ’Daily fat intake’ }, labels: { format:
’{value} gr’ } , plotLines: [{ color: ’black’, dashStyle:
’dot’, width: 2, value: 65, label: { rotation: 0, y: 15,
style: { fontStyle: ’italic’ } , text: ’Safe fat intake 65g/day’ } , zIndex: 3
}] }, yAxis: { startOnTick: false, endOnTick: false, title: { text: ’Daily
sugar intake’ } , labels: { format: ’{value} gr’ } , maxPadding: 0.2 ,
plotLines:
[{ color: ’black’, dashStyle: ’dot’, width: 2, value: 50, label: { align:
’right’, style: { fontStyle: ’italic’ }, text: ’Safe sugar intake 50g/day’, x:
-10 } , zIndex: 3 }] } , tooltip: { useHTML: true, headerFormat:
’<table>’, pointFormat:
’<tr><th colspan="2">
< h3>{point.country}</h 3>
< /th >
</tr>’ + ’<tr>
<th>Fat intake:</th>
< td>{point.x}g</td >
</tr>’ + ’<tr>
<th>Sugar intake:</th>
< td>{point.y}g</td >
</tr>’ + ’<tr>
<th>Obesity ( adults):</th >
<
td>{point.z}%</td > </tr>’, footerFormat: ’</table>’,
followPointer: true } , plotOptions: { series: { dataLabels: { enabled: true,
format: ’{point.name}’
}
}
} ,
series: [{ data: [ { x: 95, y: 95, z: 13.8 , name: ’BE’, country: ’Belgium’ },
{ x: 86.5, y: 102.9, z: 14.7, name: ’DE’, country: ’Germany’ }, { x: 80.8, y:
91.5, z: 15.8 , name: ’FI’, country: ’Finland’ }, { x: 80.4, y: 102.5, z: 12,
name: ’NL’, country: ’Netherlands’ }, { x: 80.3, y: 86.1, z: 11.8, name: ’SE’,
country: ’Sweden’ }, { x: 78.4, y: 70.1, z: 16.6, name: ’ES’, country: ’Spain’
}, { x: 74.2, y: 68.5, z: 14.5 , name: ’FR’, country: ’France’ }, { x: 73.5, y:
83.1, z: 10, name: ’NO’, country: ’Norway’ }, { x: 71, y: 93.2, z: 24.7, name:
’UK’, country: ’United Kingdom’ }, { x: 69.2, y: 57.6, z: 10.4, name: ’IT’,
country: ’Italy’ }, { x: 68.6, y: 20, z: 16, name: ’RU’, country: ’Russia’ }, {
x: 65.5, y: 126.4, z: 35.3, name: ’US’, country: ’United States’ }, { x: 65.4,
y: 50.8, z: 28.5, name: ’HU’, country: ’Hungary’ }, { x: 63.4, y: 51.8, z:
15.4, name: ’PT’, country: ’Portugal’ }, { x: 64, y: 82.9, z: 31.3, name: ’NZ’,
country: ’New Zealand’ } ] }]
}); }) ;
4.2 GEOCHART
4.2.1 CONTOH KASUS 1
Data statistik wilayah biasa ditampilkan pada peta.
Berbagai media digunakan untuk menempatkan peta itu, baik lewat kertas, gambar,
atau web. Tampilan peta dalam web tentu diharapkan tidak statis tetapi cukup
interaktif bagi yang melihat.
Sudah banyak cara yang tersedia untuk menampilkan data
wilayah di web. Salah satu caranya adalah memanfaatkan Geo Chart milik/layanan
Google (Visualization API).
Chart ini bisa menampilkan data dari tingkat benua,
negara, provinsi, hingga kota, tanpa harus berpusing ria dengan letak bujur
lintang wilayah tersebut. Tinggal memanfaatkan ID wilayah yang terdaftar pada
ISO 3166-1 alpha-2. Layanan ini berupa Javascript.
akan saya berikan kodingan dari geo char akan kami buat
menggunakan layanan Google:
< html >
< head >
<script type=’text/javascript’ src=
’https://www.google.com/jsapi’></script>
<script type=’text/javascript’> goo gle.load(’visualization’, ’1’,
{’packages’: [ ’geochart’]}); google.setOnLoadCallback(drawMarkersMap);
function drawMarkersMap() { var data = google.visualization. arrayToDataTable([
[ ’Region’,
’Population ( fiktif)’],
[’Jakarta’, 69043] ,
[’East Java’, 24813] ,
[’West Java’, 15712] ,
[’Yogyakarta’, 10937] ,
[’Central
Java’, 10345] ,
[’North Sumatra’, 9470] ,
[’Banten’, 3405] ,
[’South Sumatra’, 3181] ,
[’Riau’, 2898] ,
[’Bali’, 2830] ,
[’South Sulawesi’, 2811] ,
[’Lampung’, 4000] ,
[’West Sumatra’, 3000] ,
[’East Kalimantan’, 2000] ,
[’Central Sulawesi’, 2953] ,
[’West Kalimantan’, 10666] ,
[’Riau Islands’, 5000] ,
[’South Kalimantan’, 4367] ,
[’North Sulawesi’, 6790] ,
[’West Nusa Tenggara’, 9932] ,
[’East Nusa Tenggara’, 6654] ,
[’Papua’, 2000] ,
[’Central Kalimantan’, 7549] ,
[’Aceh’, 6660] ,
[’Bengkulu’, 4642] ,
[’Jambi’, 3456] ,
[’Maluku’, 5432] ,
[’Gorontalo’, 10000] ,
[’South East Sulawesi’, 8096] ,
[’North Maluku’, 4567] ,
[’Bangka Belitung Islands’, 2345] ,
[’West Papua’, 1085]
]) ;
var options = { region: ’ID’, displayMode: ’markers’, colorAxis: {colors:
[’green’, ’blue’]
} } ;
var chart = new google.visualization.
GeoChart(document.getElementById(’chart_div’));
chart.draw(data, options);
} ;
< /script >
< /head >
< body >
<div id="chart_div" style="width:
900px; height: 500 px;"></div >
< /body >
< /html >
Dari kodingan diatas akan diperoleh
gambar berikut:
4.3 ANNOTATION
CHART
4.3.1 CONTOH KASUS
SATU
< html >
< head >
<script type="text/javascript" src="https:
//www.gstatic.com/charts/loader.js"></script> <script
type=’text/javascript’> google. charts.load(’current’, {
’packages’:[’annotationchart’]}); google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var
data = new google.visualization.DataTable(); data.addColumn(’date’, ’Date’);
data.addColumn(’number’, ’Kepler-22b mission’); data.addColumn(’string’,
’Kepler title’); data.addColumn(’string’, ’Kepler text’);
data.addColumn(’number’, ’Gliese 163 mission’); data.addColumn(’string’,
’Gliese title’); data.addColumn(’string’, ’Gliese text’); data.addRows([
[new
Date(2314, 2, 15), 12400, undefined, undefined, 10645, undefined, undefined],
[new Date(2314, 2, 16), 24045, ’Lalibertines’,
’First encounter’, 12374, undefined, undefined],
[new Date(2314, 2, 17), 35022, ’Lalibertines’,
They are very tall’,
15766, ’Gallantors’, ’First Encounter’],
[new Date(2314, 2, 18), 12284, ’Lalibertines’,
’Attack on our crew!’, 34334, ’Gallantors’,
’Statement of shared principles’],
[new Date(2314, 2, 19), 8476, ’Lalibertines’,
’Heavy casualties’, 66467 ,
’Gallantors’, ’Mysteries revealed’],
[new Date(2314, 2, 20), 0, ’Lalibertines’,
’All crew lost’, 79463 ,
’Gallantors’, ’Omniscience achieved’]
]) ; var chart = new
google.visualization.
AnnotationChart(document.get
ElementById(’chart_div’)); var options = { displayAnnotations: true } ;
chart.draw(data, options);
}
< /script >
< /head >
< body >
<div id=’chart_div’ style=’width:
900px; height: 500 px;’></div >
< /body >
< /html >
Kodingan diatas dibuat menggunakan
aplikasi JSFIDDLE sehingga
Grak menunjukkan perkembangan setiap
hari , jam , maupun tahun, dibuat secara lengkap dan dengan menggunakan
JSFIDDLE.
4.3.2 CONTOH KASUS
DUA
Gambar diatas menunjukkan 4 brand coklat dengan
penjualan tertinggga, dapat dilihat bahwa coklat dengan brand butternger berada
pada peringkat teratas dalam penjualan coklat dan coklar dengan brand snickers
pada urutan kedua, coee crisp pada urutan ketiga dan 100grand pada urutan
terakhir dengan total penjualan terendah , berikut adalah pemrograman yang
dilakukan menggunakan HTML dalam pembuatan grak diatas:
< html >
< head >
<title>My first chart using FusionCharts Suite
XT</title> <script type="text/javascript" src="http://
static.fusioncharts.com/code/ latest/fusioncharts.js"></script>
<script type="text/javascript" src="http://
static.fusioncharts.com/code/ latest/themes/fusioncharts.theme.
fint.js?cacheBust=56"></script> <script
type="text/javascript"> FusionCharts.ready(function(){ var fusioncharts
= new FusionCharts({ type: ’column2d’,
renderAt:
’chart-container’, width: ’400’, height: ’300’, dataFormat: ’json’, dataSource:
{
"chart": {
"caption": "Top 4 Chocolate Brands
Sold",
"subCaption": "Last Year",
"xAxisName": "Brand",
"yAxisName": "Amount (In USD)",
"yAxisMaxValue": "120000",
"numberPrefix": "$",
"theme": "fint",
"PlotfillAlpha": "0",
"placeValuesInside": "0",
"rotateValues": "0",
"valueFontColor": "#333333"
} ,
"annotations": {
"width": "500",
"height": "300",
"autoScale": "1",
"groups": [{
"id": "user-images",
"xScale_": "20",
"yScale_": "20",
"items": [{
"id": "butterFinger-icon",
"type":
"image", "url": "http://static.
fusioncharts.com/sampledata/ images/butterFinger.png", "x":
"$xaxis.label.0.x - 30 ",
"y": "$canvasEndY - 150 ",
"xScale":
"50", "yScale": "40",
}, {
"id": "tom-user-icon",
"type":
"image", "url": "http://static.
fusioncharts.com/sampledata/images
/snickrs.png", "x": "$xaxis. label.1.x - 26",
"y": "$canvasEndY - 141", "xScale":
"48",
"yScale": "38" } ,
{ "id": "Milton-user-icon",
"type":
"image", "url": "http://static.
fusioncharts.com/sampledata/ images/coffee_crisp.png", "x":
"$xaxis.label.2.x - 22 ",
"y": "$canvasEndY - 134 ",
"xScale": "43", "yScale":
"36" } ,
{ "id": "Brian-user-icon",
"type":
"image", "url": "http://static.
fusioncharts.com/sampledata/images /100grand.png",
"x": "$xaxis.label.3.x - 22 ",
"y": "$canvasEndY - 131 ",
"xScale": "43",
"yScale": "35" }] }] } ,
"data": [{
"label": "Butterfinger",
"value": "92000" } ,
{ "label": "Snickers",
"value": "87000" } ,
{ "label": "Coffee Crisp",
"value": "83000" } ,
{
"label": "100 Grand",
"value":
"80000" }] } } ) ; fusioncharts.render()
; }) ;
< /script >
< /head >
< body >
<div
id="chart-container"> FusionCharts XT will load here! < /div
>
< /body >
< /html >
4.3.3 CONTOH KASUS
TIGA
Gambar dibawah adalah pengaplikasian
annotation chart dalam spline chart
gambar ini menunjukkan chart dari pengunjung yang
datang ke Bakerseld Central, dapat dilihat bahwa pengunjung tertinggi berada
pada hari rabu dengan jumlah pengunjung sebanyak 25500 pengunjung dan
pengunjung dengan jumlah paling sedikit adalah pada hari kamis dimana jumlah
pengunjung berada dibawah jumlah 12000 pengunjung dan pada hari lainnya
berkisar antara 1500 sampai 20000 pengunjung. berikut adalah pemrograman yang
dilakukan menggunakan JSON
{
"chart": {
"theme": "fint",
"caption": "Bakersfield Central
- Total footfalls",
"subCaption": "Last week",
"xAxisName": "Day",
"yAxisName": "No. of Visitors",
"showValues": "0"
} ,
"annotations": {
"groups": [
{
"id": "infobar", "items":
[
{
"id": "high-line",
"type": "line",
"x": "$canvasStartX",
"y": "$dataset.0.set.2.y",
"tox": "$canvasEndX",
"toy": "$dataset.0.set.2.y",
"color":
"#6baa01", "dashed": "1",
"thickness": "1" } ,
{ "id": "label",
"type": "text",
"text": "Highest footfall 25.5 K",
"fillcolor": "#6baa01",
"rotate": "90",
"x":
"$canvasEndX - 60 ",
"y": "$dataset.0.set.2.y - 10 "
}
]
}
]
} ,
"data":[
{
"label": "Mon",
"value": "15123" } ,
{ "label": "Tue",
"value": "14233" } ,
{ "label": "Wed",
"value": "25507" } ,
{ "label": "Thu",
"value": "9110" } ,
{ "label": "Fri",
"value": "15529" } ,
{ "label": "Sat",
"value": "20803" } ,
{ "label": "Sun",
"value": "19202" }
]
}
4.3.4 CONTOH KASUS
EMPAT
Pada gambar diatas kita dapat melihat penggunaan
annotation chart dalam gambar, dichart diatas kita dapat melihat uturan manager
dengan penghasilan terbesar sampai yang terkecil dimulai dari bagian kiri ken
bagian kanan, pendapatan terbesar dalam tiga bulan terakhir diperoleh oleh
Jennifer dengan pendapatan sebesar $92K dan Tom pada posisi pendapatan terbesar
kedua dengan $89K, Militon dengan $83K, Brian dengan $66K dan Lynda dengan $58K
yaitu penghasilan terrendah, berikut adalah pemograman yang dilakukan menggunakan
HTML:
< html >
< head >
<title>My first chart using
FusionCharts Suite XT</title>
<script
type="text/javascript" src="
http://static.fusioncharts.com/code/
latest/fusioncharts.js"></script> <script
type="text/javascript" src=" http://static.fusion
charts.com/code/latest/themes/ fusioncharts.theme.fint
.js?cacheBust=56"></script>
<script type="text/javascript">
FusionCharts.ready(function(){ var fusioncharts = new
FusionCharts({ type: ’column2d’, renderAt:
’chart-container’, width: ’500’, height: ’300’, dataFormat:
’json’, dataSource: {
"chart": {
"caption":
"Revenue by store managers",
"subCaption":
"Last quarter",
"xAxisName":
"Managers",
"yAxisName":
"Revenue (In USD)",
"numberPrefix":
"$",
"theme":
"fint",
"LabelPadding":
"50"
} ,
"annotations": {
"groups": [{
"id":
"user-images",
"items": [{
"id":
"jennifer-user-icon",
"type":
"image",
"url":
"http://static.
fusioncharts.com/sampledata/images/round-1.png",
"x":
"$xaxis.label.0.x - 24 ",
"y": "$xaxis.label.0.y - 48 "
} ,
{
"id":
"tom-user-icon",
"type":
"image",
"url":
"http://static.
fusioncharts.com/sampledata/images/round-3.png",
"x":
"$xaxis.label.1.x - 24 ",
"y":
"$xaxis.label.1.y - 48 "
} ,
{
"id":
"Milton-user-icon", "type": "image",
"url":
"http://static.
fusioncharts.com/sampledata/images/round-4.png",
"x":
"$xaxis.label.2.x - 24 ",
"y":
"$xaxis.label.2.y - 48 "
}, {
"id":
"Brian-user-icon",
"type":
"image",
"url":
"http://static.
fusioncharts.com/sampledata/images/round-5.png",
"x":
"$xaxis.label.3.x - 24 ",
"y":
"$xaxis.label.3.y - 48 "
}, {
"id":
"Lynda-user-icon",
"type":
"image",
"url":
"http://static.
fusioncharts.com/sampledata/images/round-2.png",
"x":
"$xaxis.label.4.x - 24 ",
"y":
"$xaxis.label.4.y - 48 "
}]
}]
} ,
"data": [{
"label": "Jennifer",
"value":
"92000"
}, {
"label":
"Tom",
"value":
"87000"
}, {
"label":
"Milton",
"value":
"83000"
}, {
"label":
"Brian",
"value":
"66000"
}, {
"label":
"Lynda",
"value":
"58000"
}]
}
}
) ; fusioncharts.render(); }) ;
< /script >
< /head >
< body >
<div id="chart-container"> FusionCharts XT
will load here! < /div >
< /body >
< /html
>
0 komentar: