Untuk menambah jawaban hebat @ Ricardo, saya juga telah melakukan hal serupa. Sebenarnya, saya tidak salah jika saya mengatakan saya melangkah lebih jauh dari ini. Oleh karena itu saya ingin berbagi pendekatannya.
Saya telah membuat pembungkus perpustakaan highchart. Hal ini memberikan banyak manfaat, berikut keuntungan utama yang mendorong menempuh jalur ini
- Pemisahan: Memisahkan kode Anda dari grafik tinggi
- Peningkatan Mudah: Pembungkus ini akan menjadi satu-satunya kode yang memerlukan modifikasi jika terjadi perubahan apa pun yang dapat menyebabkan gangguan pada api highchart setelah peningkatan, atau bahkan jika seseorang memutuskan untuk pindah ke pustaka pembuatan grafik yang berbeda sama sekali (bahkan dari highchart hingga highstock bisa melelahkan jika aplikasi Anda menggunakan grafik secara ekstensif)
- Mudah digunakan: Api pembungkus dibuat sangat sederhana, hanya hal-hal yang mungkin berbeda yang diekspos sebagai opsi (Itu juga yang nilainya tidak sedalam objek js seperti yang sudah dimiliki HC, sebagian besar 1 level deep), masing-masing memiliki nilai default. Jadi seringkali pembuatan bagan kita sangat singkat, dengan konstruktor mengambil 1
options
objek dengan hanya 4-5 properti yang defaultnya tidak sesuai dengan bagan yang sedang dibuat
- UX yang Konsisten: Tampilan & nuansa yang konsisten di seluruh aplikasi. misalnya: format & posisi tip alat, warna, jenis font, warna, tombol toolbar (ekspor), dll
- Hindari duplikasi: Tentu saja sebagai jawaban valid atas pertanyaan yang diajukan, ia harus menghindari duplikasi, dan hal ini sangat berpengaruh
Berikut tampilan options
dengan nilai defaultnya
defaults : {
chartType : "line",
startTime : 0,
interval : 1000,
chartData : [],
title : "Product Name",
navigator : true,
legends : true,
presetTimeRanges : [],
primaryToolbarButtons : true,
secondaryToolbarButtons : true,
zoomX : true,
zoomY : false,
height : null,
width : null,
panning : false,
reflow : false,
yDecimals : 2,
container : "container",
allowFullScreen : true,
credits : false,
showAll : false,
fontSize : "normal", // other option available is "small"
showBtnsInNewTab : false,
xAxisTitle : null,
yAxisTitle : null,
onLoad : null,
pointMarkers : false,
categories : []
}
Seperti yang Anda lihat, sering kali, hanya chartData
yang berubah. Bahkan jika Anda perlu menyetel beberapa properti, sebagian besar hanya tipe benar/salah, tidak seperti kengerian yang diharapkan oleh konstruktor grafik tinggi (tidak mengkritiknya, jumlah opsi yang mereka berikan sungguh luar biasa dari Sudut Pandang penyesuaian, tetapi untuk setiap pengembang di tim untuk memahami & menguasainya memerlukan waktu)
Jadi pembuatan bagan itu sesederhana
var chart=new myLib.Chart({
chartData : [[1000000,1],[2000000,2],[3000000,1],[4000000,5]]
});
person
Jugal Thakkar
schedule
20.08.2012