私は django プロジェクトに取り組んでおり、いくつかのページにグラフを追加することにしました。私はそのタスクに Chartit を選びました。
問題は、軸ラベルとツールチップにカスタム フォーマットを設定したいということです。そのジョブには、Highcharts のフォーマッタ フィールドを使用したいと考えています。
たとえば、Y 軸のラベルをパーセントで表示しようとしています。次の方法で行います。
chart_options=
{
'title': {'text':''},
'yAxis': {
'min':0,
'labels': {
'formatter': '''function(){
var pcnt = this.value * 100;
return Highcharts.numberFormat(pcnt) + "%";
}'''
}
}
}
そうすると、ページを更新するときに次のエラー メッセージが表示されます。
Uncaught TypeError: Object function(){
var pcnt = this.value * 100;
return Highcharts.numberFormat(pcnt) + "%";
} has no method 'call'
そこで、html テンプレートに JavaScript 関数を記述して、その名前を次の方法で Python コードに送信してみました。
#chart_options in views.py
'formatter': 'precentor'
#html template:
<script type="text/javascript">
function precentor(){
var pcnt = this.value * 100;
return Highcharts.numberFormat(pcnt) + '%';
}
</script>
しかし、同じエラーが発生しました: Uncaught TypeError: Object precentor has no method 'call'
これらの関数を「呼び出し可能」にするにはどうすればよいですか