gpt4 book ai didi

javascript - 在 Anychart 图表中设置最大和最小 xScale 值会导致异常

转载 作者:行者123 更新时间:2023-12-02 23:41:29 25 4
gpt4 key购买 nike

我正在使用 AnyChart 创建折线图

anychart.onDocumentReady(function() {
// create line chart
var dataSet = anychart.data.set([
[
"24 Apr 2019",
100.0
],
[
"24 Apr 2019", -100.0
],
[
"29 Apr 2019",
100.0
],
[
"29 Apr 2019",
100.0
],
[
"2 May 2019",
100.0
],
[
"2 May 2019", -100.0
],
[
"3 May 2019",
100.0
],
[
"6 May 2019", -100.0
],
]);

chart = anychart.line();
chart.animation(true);
chart.crosshair()
.enabled(true)
.yLabel(false)
.yStroke(null);
chart.tooltip().positionMode('point');
chart.legend()
.enabled(true)
.fontSize(13)
.padding([0, 0, 10, 0]);

var seriesData_1 = dataSet.mapAs({
'x': 0,
'value': 1
});

var series_1 = chart.line(seriesData_1);

series_1.name('Apple');
series_1.color("#335FAB");
series_1.hover().markers()
.enabled(true)
.type('circle')
.size(4);
series_1.tooltip()
.position('right')
.anchor('left-center')
.offsetX(5)
.offsetY(5);

chart.container('container');
chart.draw();
});
html,
body,
#container {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
<script src="https://cdn.anychart.com/releases/8.2.1/js/anychart-bundle.min.js"></script>
<div id="container"></div>

我需要为此图设置最小和最大 xScale 值。我尝试过以下方法:

chart.xScale().minimum("2 April 2019");
chart.xScale().maximum("10 May 2019");

但这会返回异常:

TypeError: chart.xScale(...).minimum is not a function

最佳答案

折线图的默认 xScale 是序数比例。此比例类型不支持最小/最大值,因为它代表逻辑类别。您的数据与日期时间相关,对于这种情况,数据时间比例更合适。您可以将日期时间刻度应用于图表并调整最小值/最大值。下面是修改后的JS代码:

anychart.onDocumentReady(function() {

anychart.format.inputDateTimeFormat('dd MMM yyyy');

// create line chart
var dataSet = anychart.data.set([
[
"24 Apr 2019",
100.0
],
[
"24 Apr 2019", -100.0
],
[
"29 Apr 2019",
100.0
],
[
"29 Apr 2019",
100.0
],
[
"2 May 2019",
100.0
],
[
"2 May 2019", -100.0
],
[
"3 May 2019",
100.0
],
[
"6 May 2019", -100.0
],
]);

chart = anychart.line();
chart.animation(true);
chart.crosshair()
.enabled(true)
.yLabel(false)
.yStroke(null);
chart.tooltip().positionMode('point');
chart.legend()
.enabled(true)
.fontSize(13)
.padding([0, 0, 10, 0]);

var seriesData_1 = dataSet.mapAs({
'x': 0,
'value': 1
});

var series_1 = chart.line(seriesData_1);

series_1.name('Apple');
series_1.color("#335FAB");
series_1.hover().markers()
.enabled(true)
.type('circle')
.size(4);
series_1.tooltip()
.position('right')
.anchor('left-center')
.offsetX(5)
.offsetY(5);

//adjust xScale
var scale = anychart.scales.dateTime();
scale.minimum(anychart.format.parseDateTime('2 April 2019', 'dd MMM yyyy'));
scale.maximum(anychart.format.parseDateTime('10 May 2019', 'dd MMM yyyy'));
chart.xScale(scale);

chart.container('container');
chart.draw();
});

但是如果你确实需要序数比例类型,你可以使用一个技巧。只需将以下行添加到您的代码中即可:

chart.xScale().values(['2 April 2019', '24 Apr 2019', '29 Apr 2019', '2 May 2019', '3 May 2019', '6 May 2019', '10 May 2019']);

您可以在the article中了解有关比例类型的更多信息。 .

关于javascript - 在 Anychart 图表中设置最大和最小 xScale 值会导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56052829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com