Highchart中的波斯语(Farsi)数字

7

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

有没有办法让我显示波斯数字(所有数字:y轴,工具提示,...)?

1个回答

9
你可以尝试由Milad Jafary开发的Highcharts本地化插件。它默认包含波斯日期和数字,并可扩展到其他本地化。您仍需要格式化标签,但它为您完成了“艰苦的工作”。
例如,一个最简示例可能是:
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>

请查看这个更完整的JSFiddle演示以了解它的使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接