我尝试在echarts 4.1.0版中对折线图进行编程。我正在使用其他浏览器,例如Chrome版本69.0.3497.100或Firefox 63.0.1(64位)。我的问题是,如果缩放x轴,如果这些点不在焦点范围内,连接线就会消失:
那是我在此示例中的代码:
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/echarts/4.1.0-release/echarts-en.min.js"></script>
</head>
<body>
<div id="main_chart" style="width: 1200px;height:600px;"></div>
<script type="text/javascript">
// based on prepared DOM, initialize echarts instance
var myChart = echarts.init(document.getElementById('main_chart'));
var app = {};
option = null;
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
xAxis: {
type: 'time',
axisLabel: {
formatter: function (value) {
return echarts.format.formatTime('yyyy-MM-dd hh:mm:ss', value);
}
}
},
yAxis: {
type: 'value',
min: 'dataMin'
},
dataZoom: [
{
type: 'slider',
xAxisIndex: 0,
filterMode: 'filter'
},
{
type: 'slider',
yAxisIndex: 0,
filterMode: 'empty'
},
{
type: 'inside',
xAxisIndex: 0,
filterMode: 'filter'
},
{
type: 'inside',
yAxisIndex: 0,
filterMode: 'empty'
}
],
series: [{
data: [["2018-11-06 11:27:54",37.2],["2018-11-06 11:29:33",37.2],["2018-11-06 11:29:34",37.3],["2018-11-06 13:09:33",37.3],["2018-11-06 13:09:34",37.2],["2018-11-06 13:09:34",37.2],["2018-11-06 13:09:35",37.3],["2018-11-06 13:09:49",37.3],["2018-11-06 13:09:50",37]],
type: 'line',
// step: 'end',
// smooth: true,
sampling: 'average'
}]
};
;
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
</script>
</body>
</html>
缩放时,连接线还应该连接显示区域之外的点。在下面,您可以看到预期的行为,这是我使用绘画程序完成的。
我可以更改哪些选项以更改行为,还是在Echarts库中有问题?
答案 0 :(得分:0)
有关{{1}的信息,请参见https://echarts.apache.org/en/option.html#dataZoom-slider.filterMode;有关dataZoom: [{type: 'slider', ...}]
的信息,请参见https://echarts.apache.org/en/option.html#dataZoom-inside.filterMode。
问题与放大时ECharts如何过滤数据有关。默认情况下,放大时它将忽略轴范围之外的所有值。设置dataZoom: [{type: 'inside', ...}]
将防止数据被放大忽略,线条将根据轴范围之外的值延伸到图形的边缘。