@Ricardoの素晴らしい答えに追加するために、私も非常に似たようなことをしました。実際、これよりも一歩進んだと言っても間違いではありません。したがって、アプローチを共有したいと思います。
ハイチャート ライブラリのラッパーを作成しました。これにより、複数の利点が得られます。この道を進むことを奨励した主な利点は次のとおりです。
- デカップリング:コードをハイチャートから切り離します
- 簡単なアップグレード:このラッパーは、アップグレード後に highchart API に重大な変更があった場合、または別のチャート ライブラリに完全に移動することを決定した場合でも、変更が必要な唯一のコードになります (ハイチャートからハイストックへの移行でも、アプリケーションはチャートを広範囲に使用します)
- 使いやすさ:ラッパー API は非常にシンプルに保たれ、変更される可能性のあるもののみがオプションとして公開されます (その値も、HC が既に持っているような深い js オブジェクトではなく、ほとんどが 1 レベルの深さです)、それぞれにデフォルトがあります。価値。そのため、ほとんどの場合、チャートの作成は非常に短く、コンストラクターは
options
作成中のチャートにデフォルトが適合しない 4 ~ 5 個のプロパティを持つ 1 つのオブジェクトを取得します。
- 一貫した UX:アプリケーション全体で一貫したルック アンド フィール。例: ツール ヒントの形式と位置、色、フォント ファミリ、色、ツールバー (エクスポート) ボタンなど
- 重複を避ける:もちろん、尋ねられた質問に対する有効な回答として、重複を避ける必要があります。
options
デフォルト値での外観は次のとおりです
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 : []
}
ご覧のとおり、ほとんどの場合、それだけchartData
で変化します。いくつかのプロパティを設定する必要がある場合でも、主に真/偽のタイプだけで、ハイチャート コンストラクターが期待する恐怖のようなものはありません (それらを批判するのではなく、それらが提供するオプションの量は、カスタマイズの観点から見て驚くべきものですが、すべての開発者にとってチームが理解して習得するには時間がかかる場合があります)
したがって、チャートの作成は次のように簡単です
var chart=new myLib.Chart({
chartData : [[1000000,1],[2000000,2],[3000000,1],[4000000,5]]
});