1

私は 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'

これらの関数を「呼び出し可能」にするにはどうすればよいですか

4

2 に答える 2

0

これらのリンクが問題の解決に役立つことを願っています-

jsfiddleサンプルxAxisyAxis_

formaterコールバック メソッドに関する API ドキュメント- http://api.highcharts.com/highcharts#yAxis.labels.formatter

テスト環境がなければ、正確なシナリオでテストすることはできません。

于 2014-10-24T08:36:27.880 に答える