【问题标题】:Persian (farsi) numbers in highcharthighchart 中的波斯语(波斯语)数字
【发布时间】:2016-05-15 18:23:39
【问题描述】:

我使用 Highcharts 来绘制一些图表。我的语言是波斯语(波斯语),我想用波斯数字绘制图表。但在 Highcharts 中,所有数字都以英文显示。

有没有一种方法可以用波斯语显示数字(所有数字:yaxis、工具提示、...)?

【问题讨论】:

    标签: highcharts numbers persian farsi


    【解决方案1】:

    您可以试试 Milad Jafary 的 Highcharts Localization plugin。它默认包括波斯日期和数字,并且可以扩展到其他本地化。您仍然需要格式化标签,但它会为您完成“艰苦的工作”。

    例如,一个最小的例子可能是:

    Highcharts.setOptions({
        locale: getPersianLocal()
    });
    
    $('#container').highcharts({
    
        xAxis: {
            labels: {
                formatter: function() {
                    // Example of replacing a normal number with persian number
                    return Highcharts.localizationNumber(this.value);
                }
            }
        },
        // ...
    });
    

    同样,您可以对 y 轴、工具提示等使用格式化程序。

    如果你需要格式化一个日期,你可以使用这个函数:

    $(function () {
        Highcharts.setOptions({
            locale: getPersianLocal()
        });
    
        $('#container').highcharts({
            tooltip: {
                formatter: function() {
                    return '<span style="font-size: 10px">'+Highcharts.localizationNumber(this.key)+'</span><br/>'
                            +'<span style="color:{point.color}">\u25CF</span> '+this.series.name+': <b>'
                            +Highcharts.localizationNumber(this.y)+'</b><br/>';
                }
            },
            xAxis: {
                labels: {
                    formatter: function() {
                        return Highcharts.localizationNumber(this.value);
                    }
                }
            },
            yAxis: {
                labels: {
                    formatter: function() {
                        return Highcharts.localizationNumber(this.value);
                    }
                }
            },
            series: [{
                name: 'Tokyo',
                data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
            }, {
                name: 'New York',
                data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
            }, {
                name: 'Berlin',
                data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
            }, {
                name: 'London',
                data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
            }]
        });
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://rawgithub.com/miladjafary/highcharts-plugins/master/js/jalali.js"></script>
    <script src="https://rawgithub.com/miladjafary/highcharts-plugins/master/js/highcharts-localization.js"></script>
    
    <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
    Highcharts.localizationDateFormat('%A, %d %B %y, %H:%M:%S', new Date().getTime());
    

    您必须包含插件脚本,例如:

    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://rawgithub.com/miladjafary/highcharts-plugins/master/js/jalali.js"></script>
    <script src="https://rawgithub.com/miladjafary/highcharts-plugins/master/js/highcharts-localization.js"></script>
    

    查看this more complete JSFiddle demonstration 的使用情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多