#angular #date #charts #farsi
#angular #Дата #Диаграммы #farsi
Вопрос:
Я хочу, чтобы даты отображались на персидском языке на диаграмме Highcharts. Я знаю, что вы можете использовать jalali-moment для преобразования даты в обычную. Есть ли способ сделать это в диаграммах высокого уровня? Я использую Angular 12 и Highcharts 9.
Highcharts.chart('lineChart', {
chart: {
scrollablePlotArea: {}
},
xAxis: {
type: 'datetime',
gridLineWidth: 1,
labels: {
align: 'left',
x: 3,
y: -3
}
},
yAxis: [{
title: {
text: null
},
showFirstLabel: false
}],
series: [{
type: 'line',
data: [
[
1633209533000,
3
],
[
1635796087000,
3
],
[
1635882487000,
6
],
[
1636055287000,
4
],
[
1638466033000,
8
],
[
1638479933000,
6
]
]
}]
});
Ответ №1:
Вы можете использовать форматы даты Highcharts и jalali-moment.
Используйте эту ссылку для установки jalali-moment
в параметрах Highcharts используйте Highcharts.DateFormats
> chartDateFormat() {
Highcharts.dateFormats.a = (ts) => {
return moment(ts).locale('fa').format('dddd');
};
Highcharts.dateFormats.A = (ts) => {
return moment(ts).locale('fa').format('dddd');
};
Highcharts.dateFormats.d = (ts) => {
return moment(ts).locale('fa').format('DD');
};
Highcharts.dateFormats.e = (ts) => {
return moment(ts).locale('fa').format('D');
};
Highcharts.dateFormats.b = (ts) => {
return moment(ts).locale('fa').format('MMMM');
};
Highcharts.dateFormats.B = (ts) => {
return moment(ts).locale('fa').format('MMMM');
};
Highcharts.dateFormats.m = (ts) => {
return moment(ts).locale('fa').format('MM');
};
Highcharts.dateFormats.y = (ts) => {
return moment(ts).locale('fa').format('YY');
};
Highcharts.dateFormats.Y = (ts) => {
return moment(ts).locale('fa').format('YYYY');
};
Highcharts.dateFormats.W = (ts) => {
return moment(ts).locale('fa').format('ww');
};
}