2017-08-03 23 views
0

私はchart.js 2.6.0を使用しています。これは最新バージョンです。Chart.js v2上書き描画機能

私はコーナーを丸くするために棒グラフを上書きしようとしています。私はこのスクリプトを見つけました:https://github.com/jedtrow/Chart.js-Rounded-Bar-Charts/blob/master/Chart.extentions.jsとそれは良い動作します。

私は同じページに複数のグラフがあるので、新しいグラフオプション "is_curved"を作成しました。そのうちのいくつかについてのみ角を丸くしたいのです。

私の場合の問題は、私は次のコードを使用している場合は、すべてのチャートがコーナー丸められているということです。

Chart.elements.Rectangle.prototype.draw = function() { 
    //code to make corners rounded 
} 

機能:

Chart.elements.Rectangle.prototypeを.draw

すべてのチャートで呼び出されます。オプション "is_curved"がtrueに設定されている場合にのみ実行されるようにします。 trueに設定された「is_curved」オプションを持っていないグラフが空になっているので、私は私が呼んでいるという事実が.drawメソッドがすべて削除されていることを推測

Chart.elements.Rectangle.prototype.draw = function() { 
    if(!this._chart.options.is_curved) { 
     return; 
    } 
    //code to make corners rounded 
} 

をしかし、これはまだ間違っている:だから私は試してみました私はそれらのための新しい機能を追加しない場合でも、既存の機能。

"is_curved"オプションがtrueに設定されているチャートでのみ動作するように描画関数を設定するにはどうすればよいですか?ありがとう。

答えて

1

変更のコード行:これまで

var cornerRadius = 5; 

var cornerRadius = this._chart.options.is_curved ? 5 : 0; 

これはis_curved場合、5にバー角の半径を設定します本物tyは、trueに設定され、それ以外の場合は0に設定されます。

see - working example on JSFiddle

+1

これは私が昨日修正したものです。ありがとう。 – Pascut

関連する問題