用echarts做数据统计报表如何用直线连接报表上的两个断点

Study___Csdn 2015-04-23 11:56:32


如何将粉色的点和粉色的直线连接起来,急求大神指教。
...全文
677 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蛋定的教父 2017-09-14
  • 打赏
  • 举报
回复
echarts3里 option.series.connectNulls 属性解决你的问题
duoyunan 2016-08-02
  • 打赏
  • 举报
回复
引用 5 楼 yan8752528 的回复:
在echars2中修改_buildHorizontal函数中代码可以解决

for (var sId in curPLMap) {
                if (curPLMap[sId].length > 0) {
                    this.finalPLMap[sId] = this.finalPLMap[sId] || [];
                    this.finalPLMap[sId].push(curPLMap[sId]);
                    curPLMap[sId] = [];
                }
            }
            //折线图断点连接
            for (var sId in curPLMap) {
                if(this.finalPLMap[sId].length>0){
                    for(var j=1;j<this.finalPLMap[sId].length;j++){
                        this.finalPLMap[sId][0]=this.finalPLMap[sId][0].concat(this.finalPLMap[sId][j]);
                        //this.finalPLMap[sId][j]=[];
                        //delete this.finalPLMap[sId][j];
                    }
                }
            }
            this._calculMarkMapXY(xMarkMap, locationMap, 'y');
            this._buildBorkenLine(seriesArray, this.finalPLMap, categoryAxis, 'horizontal');
效果如下
简直精辟,总算找到完美解决方案了!
yan8752528 2016-05-19
  • 打赏
  • 举报
回复
在echars2中修改_buildHorizontal函数中代码可以解决

for (var sId in curPLMap) {
if (curPLMap[sId].length > 0) {
this.finalPLMap[sId] = this.finalPLMap[sId] || [];
this.finalPLMap[sId].push(curPLMap[sId]);
curPLMap[sId] = [];
}
}
//折线图断点连接
for (var sId in curPLMap) {
if(this.finalPLMap[sId].length>0){
for(var j=1;j<this.finalPLMap[sId].length;j++){
this.finalPLMap[sId][0]=this.finalPLMap[sId][0].concat(this.finalPLMap[sId][j]);
//this.finalPLMap[sId][j]=[];
//delete this.finalPLMap[sId][j];
}
}
}
this._calculMarkMapXY(xMarkMap, locationMap, 'y');
this._buildBorkenLine(seriesArray, this.finalPLMap, categoryAxis, 'horizontal');

效果如下
wangduqiang747 2015-09-10
  • 打赏
  • 举报
回复
// 因为echarts的缺陷. 不显示断点. 修理一下arrayTotalProfit_All 让他每个点都有数据
		//遍历数据,从第一个有数据的点开始. 找到后面的第一个有数据的点. 求他们之间的所有点的值.循环
		for(var i = 0 ; i < arrayTotalProfit_All.length ; i++){
			var item = arrayTotalProfit_All[i];
			if(item == '-'){
				continue;
			}else{
				//找下一个有数据点
				for(var j = i+1 ; j < arrayTotalProfit_All.length;j ++){
					if(arrayTotalProfit_All[j] != '-'){//则从i 到 j 的点都附上值
						var next = arrayTotalProfit_All[j];
						for(var m = i+1 ; m < j; m++){
							arrayTotalProfit_All[m] = (next-item)/(j-i) *(m-i)+item; //线性计算个值
						}
						i = j;
						i--;
						break;
					}
				}
				
			}
		}
wangduqiang747 2015-09-10
  • 打赏
  • 举报
回复
// 因为echarts的缺陷. 不显示断点. 修理一下arrayTotalProfit_All 让他每个点都有数据 //遍历数据,从第一个有数据的点开始. 找到后面的第一个有数据的点. 求他们之间的所有点的值.循环 for(var i = 0 ; i < arrayTotalProfit_All.length ; i++){ var item = arrayTotalProfit_All[i]; if(item == '-'){ continue; }else{ //找下一个有数据点 for(var j = i+1 ; j < arrayTotalProfit_All.length;j ++){ if(arrayTotalProfit_All[j] != '-'){//则从i 到 j 的点都附上值 var next = arrayTotalProfit_All[j]; for(var m = i+1 ; m < j; m++){ arrayTotalProfit_All[m] = (next-item)/(j-i) *(m-i)+item; //线性计算个值 } i = j; i--; break; } } } } 已解决, 请远离echarts 这玩意太不完善. 就是个玩具根本不能商用
yy748941 2015-08-05
  • 打赏
  • 举报
回复
请问,你的问题现在解决了吗?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧