我在Angular中使用AnyChart(股票图表)正确显示日期时间时遇到问题。
有时AnyChart可以显示正确的时间,但有时却不正确-我不明白它所依赖的时间。
错误的日期时间格式为'05 28 Mar 2019',并且相同的代码为2019年3月28日05:00
我已经尝试使用带时间的日期作为字符串,日期和时间戳记。
有时候a号小于500没关系。有时即使tick几也行不通。
有时在放大图表时可以使用。
代码示例:
draw(tickData: TickData, tickForChart: any[], container: ElementRef) {
const table = AnyCharts.data.table();
table.addData(tickForChart);
const mapping = table.mapAs({
x: 0,
open: 1,
high: 2,
low: 3,
close: 4
});
const chart = AnyCharts.stock();
const prices = chart.plot(0).candlestick(mapping);
prices.name(tickData.market.marketName);
prices.risingStroke('#3ba158');
prices.risingFill('#3ba158');
prices.fallingStroke('#fa1a20');
prices.fallingFill('#fa0f16');
chart.plot(0).xGrid().enabled(true);
chart.plot(0).yGrid().enabled(true);
chart.plot(0).yGrid().stroke("#dee2e6");
chart.title(this.getMarketName(tickData));
chart.container(container.nativeElement);
chart.scroller(true);
chart.draw();
container.nativeElement.style.height = '600px';
return chart;
}
有人有同样的问题吗?我该如何解决?
我还以错误的格式附加了图像。
正确无误:
像示例一样,它可以很好地处理数据:
['2019-03-28T05:00:00', 511.53, 514.98, 505.79, 506.40],
['2019-03-28T05:30:00', 512.53, 514.88, 505.69, 510.34],
['2019-03-28T06:00:00', 511.83, 514.98, 505.59, 507.23],
['2019-03-28T06:30:00', 511.22, 515.30, 505.49, 506.47],
...
但由于数据失败:
['2015-12-24T08:13:00', 511.53, 514.98, 505.79, 506.40],
['2015-12-24T09:13:00', 512.53, 514.88, 505.69, 510.34],
['2015-12-24T10:13:00', 511.83, 514.98, 505.59, 507.23],
['2015-12-24T11:13:00', 511.22, 515.30, 505.49, 506.47]
...
答案 0 :(得分:0)
您是否对标签应用了任何格式设置?请为我们提供代码,以便我们对其进行审核。在任何情况下,都可以使用格式设置解决问题。例如,您可以使用以下行来设置xAxis标签的格式:
this.chart.plot(0).xAxis().labels().format('{%tickValue}{dateTimeFormat:dd MMM yyyy hh:mm}');
this.chart.plot(0).xAxis().minorLabels().format('{%tickValue}{dateTimeFormat:dd MMM yyyy hh:mm}');
答案 1 :(得分:0)
发生这种情况是因为您以不同的格式设置了日期。如果您不仅要显示日期,还要显示时间,则应将所有x值都设置为小时,分钟等。请选中此sample。