hqchart 1.1.12379 → 1.1.12384
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +12 -8
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +5 -0
- package/src/jscommon/umychart.js +55 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +61 -2
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +61 -2
package/lib/umychart.vue.js
CHANGED
|
@@ -3087,6 +3087,7 @@ this.NotSupportMessage=null;this.MessageFont=g_JSChartResource.Index.NotSupport.
|
|
|
3087
3087
|
this.GetEventCallback;this.SelectedLineWidth=g_JSChartResource.SelectedChart.LineWidth;this.SelectedLineColor=g_JSChartResource.SelectedChart.LineColor;this.SelectedRadius=g_JSChartResource.SelectedChart.Radius;this.SelectedPointMinSpace=g_JSChartResource.SelectedChart.MinSpace;//点和点间最小间距
|
|
3088
3088
|
this.SelectedBGColor=g_JSChartResource.SelectedChart.BGColor;this.DrawSelectedStatus;//function() { } //选中状态
|
|
3089
3089
|
this.PtInChart;//function(x,y) { }
|
|
3090
|
+
this.IsFullRangeMaxMin=false;//this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
|
|
3090
3091
|
this.Draw=function(){};//数据导出 数据格式 [{ Title:数据名称, Data:[] }]
|
|
3091
3092
|
//this.ExportData=function(aryKData) { }
|
|
3092
3093
|
this.GetBorder=function(){if(this.ChartFrame.IsHScreen)return this.ChartBorder.GetHScreenBorder();return this.ChartBorder.GetBorder();};this.ClipClient=function(isHScreen)//裁剪客户端
|
|
@@ -4096,8 +4097,8 @@ this.ArrawAngle=35;//三角斜边一直线夹角
|
|
|
4096
4097
|
this.ArrawLength=10;//三角斜边长度
|
|
4097
4098
|
this.ArrawLineWidth=5;//箭头粗细
|
|
4098
4099
|
this.Arrow={Start:false,End:false};//Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
|
|
4099
|
-
this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var drawLines=[];var arrowLines=[];for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];var drawPoints={Point:[],Color:line.Color};var drawArrowPoints={Start:[],End:[]};if(line.BGColor)drawPoints.BGColor=line.BGColor;var isExtendLine=false;if(IFrameSplitOperator.IsBool(line.IsExtendLine))isExtendLine=line.IsExtendLine;if(isExtendLine)//左右延申
|
|
4100
|
-
{var prePoint=null;var bFirstPoint=true;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>0&&index<xPointCount){if(bFirstPoint){if(prePoint){var preIndex=prePoint.Index-offset;var x=this.ChartFrame.GetXFromIndex(preIndex,false);var y=this.ChartFrame.GetYFromData(prePoint.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}bFirstPoint=false;}var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}else{if(drawPoints.Point.length>0){var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:true};drawPoints.Point.push(pointItem);}}prePoint=point;}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}else{for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>=0&&index<xPointCount){var x=this.ChartFrame.GetXFromIndex(index);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);if(j==0||j==1)drawArrowPoints.Start.push(pointItem);//起始点
|
|
4100
|
+
this.IsFullRangeMaxMin=false;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var drawLines=[];var arrowLines=[];for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];var drawPoints={Point:[],Color:line.Color};var drawArrowPoints={Start:[],End:[]};if(line.BGColor)drawPoints.BGColor=line.BGColor;var isExtendLine=false;if(IFrameSplitOperator.IsBool(line.IsExtendLine))isExtendLine=line.IsExtendLine;if(isExtendLine)//左右延申
|
|
4101
|
+
{var prePoint=null;var bFirstPoint=true;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>0&&index<xPointCount){if(bFirstPoint){if(prePoint){var preIndex=prePoint.Index-offset;var x=this.ChartFrame.GetXFromIndex(preIndex,false);var y=this.ChartFrame.GetYFromData(prePoint.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}bFirstPoint=false;}var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}else{if(drawPoints.Point.length>0){var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:true};drawPoints.Point.push(pointItem);bFirstPoint=true;prePoint=null;}}prePoint=point;}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}else{for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>=0&&index<xPointCount){var x=this.ChartFrame.GetXFromIndex(index);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);if(j==0||j==1)drawArrowPoints.Start.push(pointItem);//起始点
|
|
4101
4102
|
if(j==line.Point.length-1||j==line.Point.length-2)drawArrowPoints.End.push(pointItem);//结束点
|
|
4102
4103
|
}else{if(drawPoints.Point.length>0)drawPoints.Point[drawPoints.Point.length-1].End=true;//点断开
|
|
4103
4104
|
}}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}}var pixelRatio=GetDevicePixelRatio();this.Canvas.save();this.ClipClient(this.IsHScreen);for(var i=0;i<drawLines.length;++i){if(this.LineDash)this.Canvas.setLineDash(this.LineDash);if(IFrameSplitOperator.IsPlusNumber(this.LineWidth))this.Canvas.lineWidth=this.LineWidth*pixelRatio;else this.Canvas.lineWidth=1*pixelRatio;var item=drawLines[i];this.DrawLine(item,arrowLines[i]);}this.Canvas.restore();};this.DrawLine=function(line,arrow){if(line.BGColor)//背景色
|
|
@@ -4106,7 +4107,8 @@ if(j==line.Point.length-1||j==line.Point.length-2)drawArrowPoints.End.push(point
|
|
|
4106
4107
|
if(arrow.End.length==2&&this.Arrow.End==true)this.DrawArrow(arrow.End[0],arrow.End[1]);if(arrow.Start.length==2&&this.Arrow.Start==true)this.DrawArrow(arrow.Start[1],arrow.Start[0]);};this.DrawArrow=function(ptStart,ptEnd){//计算箭头
|
|
4107
4108
|
var theta=this.ArrawAngle;//三角斜边一直线夹角
|
|
4108
4109
|
var headlen=this.ArrawLength;//三角斜边长度
|
|
4109
|
-
var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(angle+theta)*Math.PI/180,angle2=(angle-theta)*Math.PI/180,topX=headlen*Math.cos(angle1),topY=headlen*Math.sin(angle1),botX=headlen*Math.cos(angle2),botY=headlen*Math.sin(angle2);this.Canvas.beginPath();var arrowX=ptEnd.X+topX;var arrowY=ptEnd.Y+topY;this.Canvas.moveTo(arrowX,arrowY);this.Canvas.lineTo(ptEnd.X,ptEnd.Y);arrowX=ptEnd.X+botX;arrowY=ptEnd.Y+botY;this.Canvas.lineTo(arrowX,arrowY);this.Canvas.setLineDash([]);this.Canvas.lineWidth=this.ArrawLineWidth*GetDevicePixelRatio();this.Canvas.stroke();};this.GetMaxMin=function(){var range={Min:null,Max:null};var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;var end=start+xPointCount;for(var i in this.Lines){var line=this.Lines[i];for(var j in line.Point){var point=line.Point[j];if(point.Index>=start&&point.Index<end){if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}}return range;}
|
|
4110
|
+
var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(angle+theta)*Math.PI/180,angle2=(angle-theta)*Math.PI/180,topX=headlen*Math.cos(angle1),topY=headlen*Math.sin(angle1),botX=headlen*Math.cos(angle2),botY=headlen*Math.sin(angle2);this.Canvas.beginPath();var arrowX=ptEnd.X+topX;var arrowY=ptEnd.Y+topY;this.Canvas.moveTo(arrowX,arrowY);this.Canvas.lineTo(ptEnd.X,ptEnd.Y);arrowX=ptEnd.X+botX;arrowY=ptEnd.Y+botY;this.Canvas.lineTo(arrowX,arrowY);this.Canvas.setLineDash([]);this.Canvas.lineWidth=this.ArrawLineWidth*GetDevicePixelRatio();this.Canvas.stroke();};this.GetMaxMin=function(){if(this.IsFullRangeMaxMin)return this.GetFullRangeMaxMin();var range={Min:null,Max:null};var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;var end=start+xPointCount;for(var i in this.Lines){var line=this.Lines[i];for(var j in line.Point){var point=line.Point[j];if(point.Index>=start&&point.Index<end){if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}}return range;};//全部数据的最大最小值
|
|
4111
|
+
this.GetFullRangeMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return range;for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];if(!IFrameSplitOperator.IsNonEmptyArray(line.Point))continue;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}return range;};}// 线段集合 支持横屏
|
|
4110
4112
|
function ChartMultiPoint(){this.newMethod=IChartPainting;//派生
|
|
4111
4113
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiPoint";this.PointGroup=[];// [ {Point:[ {Index, Value }, ], Color: }, ]
|
|
4112
4114
|
this.IsHScreen=false;this.LineWidth=1;this.PointRadius=5;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.PointGroup))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var pixel=GetDevicePixelRatio();this.Canvas.save();this.ClipClient(this.IsHScreen);for(var i=0;i<this.PointGroup.length;++i){var item=this.PointGroup[i];var color=item.Color;var bgColor=item.BGColor;var lineWidth=this.LineWidth;var radius=this.PointRadius;if(IFrameSplitOperator.IsNumber(item.LineWidth))lineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.PointRadius))radius=item.PointRadius;var path=new Path2D();var count=0;for(var j=0;j<item.Point.length;++j){var point=item.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>=0&&index<xPointCount){var x=this.ChartFrame.GetXFromIndex(index);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointPath=new Path2D();if(this.IsHScreen)pointPath.arc(y,x,radius*pixel,0,360,false);else pointPath.arc(x,y,radius*pixel,0,360,false);path.addPath(pointPath);++count;}}if(count>0&&(bgColor||color)){this.Canvas.lineWidth=lineWidth*pixel;this.Canvas.fillStyle=bgColor;//背景填充颜色
|
|
@@ -4144,7 +4146,9 @@ this.newMethod();delete this.newMethod;this.ClassName="ChartDrawSVG";this.Family
|
|
|
4144
4146
|
this.IsHScreen=false;//是否横屏
|
|
4145
4147
|
this.IsDestroy=false;//是否已销毁
|
|
4146
4148
|
this.EnableTooltip=true;this.TooltipRect=[];//this.Data; 存K线数据
|
|
4147
|
-
this.Draw=function(){this.TooltipRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;this.DrawSVG();};this.DrawDetail=function(rtSVG,data){if(!IFrameSplitOperator.IsNonEmptyArray(data.Content))return;var lefMargin=2;var rightMargin=2;var itemSpace=2;var rtBorder={Left:rtSVG.Right,Right:rtSVG.Right,Bottom:rtSVG.Bottom};
|
|
4149
|
+
this.Draw=function(){this.TooltipRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;this.DrawSVG();};this.DrawDetail=function(rtSVG,data){if(!IFrameSplitOperator.IsNonEmptyArray(data.Content))return;var lefMargin=2;var rightMargin=2;var itemSpace=2;var rtBorder={Left:rtSVG.Right,Right:rtSVG.Right,Bottom:rtSVG.Bottom};var rightBorder=0;//右边的边界 0=div的宽度 1=图形框架边框
|
|
4150
|
+
if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFrameSplitOperator.IsNumber(data.YOffset))rtBorder.Bottom+=data.YOffset;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Left+=data.XOffset;if(IFrameSplitOperator.IsNumber(data.LeftMargin))lefMargin=data.LeftMargin;if(IFrameSplitOperator.IsNumber(data.RightMargin))rightMargin=data.RightMargin;if(IFrameSplitOperator.IsNumber(data.RightBorder))rightBorder=data.RightBorder;if(data.Font)this.Canvas.font=data.Font;else this.Canvas.font=this.TextFont;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';var textHeight=this.Canvas.measureText("擎").width+2;rtBorder.Height=textHeight+5;var yText=rtBorder.Bottom-(rtBorder.Height-textHeight)/2;var xText=rtBorder.Left+lefMargin;var aryText=[];for(var i=0;i<data.Content.length;++i){if(aryText.length>0)xText+=itemSpace;var item=data.Content[i];if(!item.Text)continue;var textWidth=this.Canvas.measureText(item.Text).width+2;aryText.push({X:xText,Y:yText,Width:textWidth,Data:item});xText+=textWidth;rtBorder.Right=xText;}rtBorder.Right+=rightMargin;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Top=rtBorder.Bottom-rtBorder.Height;var right=this.ChartBorder.GetChartWidth()-1;if(rightBorder==1)right=this.ChartBorder.GetRight();if(rtBorder.Right>right)//右边显示不下,显示在左边
|
|
4151
|
+
{rtBorder.Right=rtSVG.Left;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Right-=data.XOffset;rtBorder.Left=rtBorder.Right-rtBorder.Width;var xText=rtBorder.Left+lefMargin;for(var i=0;i<aryText.length;++i){if(i>0)xText+=itemSpace;var item=aryText[i];item.X=xText;xText+=item.Width;}}if(data.BGColor){this.Canvas.fillStyle=data.BGColor;this.Canvas.fillRect(rtBorder.Left,rtBorder.Top,rtBorder.Width,rtBorder.Height);}if(data.BorderColor){this.Canvas.strokeStyle=data.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtBorder.Left),ToFixedPoint(rtBorder.Top),ToFixedRect(rtBorder.Width),ToFixedRect(rtBorder.Height));}for(var i=0;i<aryText.length;++i){var item=aryText[i];this.Canvas.fillStyle=item.Data.Color;this.Canvas.fillText(item.Data.Text,item.X,item.Y);}};this.DrawSVG=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;if(!this.Family)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var pixelRatio=GetDevicePixelRatio();var x=0,y=0;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];if(!item.SVG||!item.SVG.Symbol)continue;if(!IFrameSplitOperator.IsNumber(item.Index))continue;var isMinuteFrame=this.IsMinuteFrame();var index=item.Index-offset;var kItem=this.Data.Data[item.Index];if(index<0||index>=xPointCount)continue;x=this.ChartFrame.GetXFromIndex(index);if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
|
|
4148
4152
|
var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var textBaseline='bottom';var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0){textBaseline="top";rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1){textBaseline='middle';rtSVG.Top=y-svgItem.Size/2;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}if(rtSVG.Top<0){rtSVG.Top=0;rtSVG.Bottom=svgItem.Size;y=rtSVG.Bottom;}this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign='center';this.Canvas.fillStyle=svgItem.Color;this.Canvas.fillText(svgItem.Symbol,x,y);if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i});//文字
|
|
4149
4153
|
if(item.Text&&item.Text.Content&&this.TextFont){var textItem=item.Text;this.Canvas.font=this.TextFont;this.Canvas.fillStyle=textItem.Color;var yText=y;if(IFrameSplitOperator.IsNumber(textItem.YOffset))yText+=textItem.YOffset;this.Canvas.fillText(textItem.Content,x,yText);}if(item.Detail){this.DrawDetail(rtSVG,item.Detail);}//连线
|
|
4150
4154
|
if(item.Line){var lineItem=item.Line;var price;var kItem=this.Data.Data[item.Index];switch(lineItem.Value){case"C":price=kItem.Close;break;case"H":price=kItem.High;break;case"L":price=kItem.Low;break;}if(!IFrameSplitOperator.IsNumber(price))continue;var yPrice=this.ChartFrame.GetYFromData(price);if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
|
|
@@ -11252,7 +11256,7 @@ chart.Family=varItem.Draw.Icon.Family;chart.TextFont=g_JSChartResource.TIPICON.T
|
|
|
11252
11256
|
if(IFrameSplitOperator.IsNumber(varItem.YOffset))svgYOffset=varItem.YOffset;if(varItem.Color)svgColor=this.GetColor(varItem.Color);if(varItem.DrawFontSize>0)svgSize=varItem.DrawFontSize;if(varItem.DrawVAlign>=0)svgVAlign=varItem.DrawVAlign;if(varItem.Draw&&IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.DrawData)&&varItem.Draw.Icon){var drawData=varItem.Draw.DrawData;var aryData=[];var isArrayTip=Array.isArray(varItem.Draw.Text);var singleTip=null;if(!isArrayTip&&varItem.Draw.Text)singleTip={Text:varItem.Draw.Text};for(var j=0;j<drawData.length;++j){var item=drawData[j];if(!IFrameSplitOperator.IsNumber(item))continue;var svgItem={Index:j,Value:item,SVG:{Symbol:varItem.Draw.Icon.Symbol,Size:svgSize,Color:svgColor,YOffset:svgYOffset,VAlign:svgVAlign}};if(isArrayTip){var text=varItem.Draw.Text[j];if(text)svgItem.Tooltip={Text:text};}else{svgItem.Tooltip=singleTip;}aryData.push(svgItem);}chart.Texts=aryData;}hqChart.ChartPaint.push(chart);};//创建通道
|
|
11253
11257
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
11254
11258
|
chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11255
|
-
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(varItem.Draw.Arrow)//箭头配置
|
|
11259
|
+
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin))chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;if(varItem.Draw.Arrow)//箭头配置
|
|
11256
11260
|
{var item=varItem.Draw.Arrow;if(item.Start==true)chart.Arrow.Start=true;if(item.End==true)chart.Arrow.End=true;if(IFrameSplitOperator.IsNumber(item.Angle))chart.ArrawAngle=item.Angle;if(IFrameSplitOperator.IsNumber(item.Length))chart.ArrawLength=item.Length;if(IFrameSplitOperator.IsNumber(item.LineWidth))chart.ArrawLineWidth=item.LineWidth;}hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiLine";titleData.Lines=chart.Lines;hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateMultiPoint=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiPoint();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11257
11261
|
chart.PointGroup=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiPoint";titleData.PointGroup=chart.PointGroup;hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11258
11262
|
chart.Bars=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titleData=new DynamicTitleData({KData:chart.Data,BarData:chart.Bars},varItem.Name,null);titleData.IsShow=false;titleData.DataType="MULTI_BAR";hqChart.TitlePaint[titleIndex].Data[id]=titleData;hqChart.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -11370,7 +11374,7 @@ frame.ChartPaint.push(chart);};//创建通道
|
|
|
11370
11374
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
11371
11375
|
chart.Data.Data=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};//
|
|
11372
11376
|
this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11373
|
-
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(varItem.Draw.Arrow)//箭头配置
|
|
11377
|
+
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin))chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;if(varItem.Draw.Arrow)//箭头配置
|
|
11374
11378
|
{var item=varItem.Draw.Arrow;if(item.Start==true)chart.Arrow.Start=true;if(item.End==true)chart.Arrow.End=true;if(IFrameSplitOperator.IsNumber(item.Angle))chart.ArrawAngle=item.Angle;if(IFrameSplitOperator.IsNumber(item.Length))chart.ArrawLength=item.Length;if(IFrameSplitOperator.IsNumber(item.LineWidth))chart.ArrawLineWidth=item.LineWidth;}frame.ChartPaint.push(chart);};this.CreateMultiPoint=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiPoint();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11375
11379
|
chart.PointGroup=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};this.CreateBackgroud=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBackground();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Color=drawData.Color;chart.ColorAngle=drawData.Angle;if(drawData.Data)chart.Data.Data=drawData.Data;}frame.ChartPaint.push(chart);};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11376
11380
|
chart.Bars=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData({KData:chart.Data,BarData:chart.Bars},varItem.Name,null);titleData.IsShow=false;titleData.DataType="MULTI_BAR";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;frame.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -11433,7 +11437,7 @@ sourceData.sort(function(a,b){if(a.Date==b.Date)return a.Time-b.Time;return a.Da
|
|
|
11433
11437
|
var result=[];if(!outVar)return result;for(var i=0;i<outVar.length;++i){var item=outVar[i];var indexData=[];var outVarItem={Name:item.name,Type:item.type};if(item.color)outVarItem.Color=item.color;if(item.data){outVarItem.Data=this.FittingArray(item.data,date,time,hqChart);if(item.color)outVarItem.Color=item.color;if(item.linewidth)outVarItem.LineWidth=item.linewidth;if(item.isshow==false)outVarItem.IsShow=false;if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11434
11438
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11435
11439
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11436
|
-
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
11440
|
+
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
11437
11441
|
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.IsShowRowName=draw.IsShowRowName;drawItem.BGColor=draw.BGColor;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:this.FittingMultiText(draw.DrawData.Icon,date,time,hqChart),Family:draw.DrawData.Family};this.GetKLineData(drawItem.DrawData.Icon,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11438
11442
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="COLOR_KLINE"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;var klineOption=this.FittingMultiText(draw.DrawData.KLine,date,time,hqChart);var mapKLineOption=new _map2.default();for(var i in klineOption){var item=klineOption[i];mapKLineOption.set(item.Index,item);}drawItem.DrawData={KLine:mapKLineOption};if(draw.Color)outVarItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="KLINE_BG"){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.Angle=draw.Angle;if(draw.Ver==2.0)drawItem.DrawData.Data=this.FittingKLineBG_V2(draw.DrawData,hqChart);else drawItem.DrawData.Data=this.FittingKLineBG(draw.DrawData,hqChart);outVarItem.Draw=drawItem;outVarItem.Name=draw.DrawType;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT_LINE'){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.PointRadius=draw.PointRadius;drawItem.DrawData.PointColor=draw.PointColor;drawItem.DrawData.LineWidth=draw.LineWidth;drawItem.DrawData.Data=this.FittingMultiPointLine(draw.DrawData,hqChart);outVarItem.Draw=drawItem;//outVarItem.Name=draw.DrawType;
|
|
11439
11443
|
result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
@@ -12559,7 +12563,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12559
12563
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12560
12564
|
* 版本信息输出
|
|
12561
12565
|
*
|
|
12562
|
-
*/var HQCHART_VERSION="1.1.
|
|
12566
|
+
*/var HQCHART_VERSION="1.1.12383";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12563
12567
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12564
12568
|
// BaseIndex:BaseIndex,
|
|
12565
12569
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -20264,6 +20264,8 @@ function ScriptIndex(name,script,args,option)
|
|
|
20264
20264
|
if (varItem.Draw.Name) chart.Name=varItem.Draw.Name;
|
|
20265
20265
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
20266
20266
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
20267
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
20268
|
+
|
|
20267
20269
|
if(varItem.Draw.Arrow) //箭头配置
|
|
20268
20270
|
{
|
|
20269
20271
|
var item=varItem.Draw.Arrow;
|
|
@@ -21752,6 +21754,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
21752
21754
|
chart.Lines=varItem.Draw.DrawData;
|
|
21753
21755
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
21754
21756
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
21757
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
21758
|
+
|
|
21755
21759
|
if(varItem.Draw.Arrow) //箭头配置
|
|
21756
21760
|
{
|
|
21757
21761
|
var item=varItem.Draw.Arrow;
|
|
@@ -22849,6 +22853,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
22849
22853
|
|
|
22850
22854
|
outVarItem.Draw=drawItem;
|
|
22851
22855
|
if (draw.LineDash) drawItem.LineDash=draw.LineDash;
|
|
22856
|
+
if (IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin)) drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;
|
|
22852
22857
|
if (draw.Arrow) drawItem.Arrow=draw.Arrow;
|
|
22853
22858
|
if (IFrameSplitOperator.IsNumber(draw.LineWidth)) drawItem.LineWidth=draw.LineWidth;
|
|
22854
22859
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -20366,6 +20366,8 @@ function IChartPainting()
|
|
|
20366
20366
|
this.DrawSelectedStatus; //function() { } //选中状态
|
|
20367
20367
|
this.PtInChart; //function(x,y) { }
|
|
20368
20368
|
|
|
20369
|
+
this.IsFullRangeMaxMin=false; //this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
|
|
20370
|
+
|
|
20369
20371
|
this.Draw=function()
|
|
20370
20372
|
{
|
|
20371
20373
|
|
|
@@ -34027,6 +34029,8 @@ function ChartMultiLine()
|
|
|
34027
34029
|
this.ArrawLineWidth=5; //箭头粗细
|
|
34028
34030
|
this.Arrow={ Start:false, End:false }; //Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
|
|
34029
34031
|
|
|
34032
|
+
this.IsFullRangeMaxMin=false;
|
|
34033
|
+
|
|
34030
34034
|
this.Draw=function()
|
|
34031
34035
|
{
|
|
34032
34036
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
@@ -34090,6 +34094,9 @@ function ChartMultiLine()
|
|
|
34090
34094
|
|
|
34091
34095
|
var pointItem={X:x, Y:y, End:true};
|
|
34092
34096
|
drawPoints.Point.push(pointItem);
|
|
34097
|
+
|
|
34098
|
+
bFirstPoint=true;
|
|
34099
|
+
prePoint=null;
|
|
34093
34100
|
}
|
|
34094
34101
|
}
|
|
34095
34102
|
|
|
@@ -34240,6 +34247,8 @@ function ChartMultiLine()
|
|
|
34240
34247
|
|
|
34241
34248
|
this.GetMaxMin=function()
|
|
34242
34249
|
{
|
|
34250
|
+
if (this.IsFullRangeMaxMin) return this.GetFullRangeMaxMin();
|
|
34251
|
+
|
|
34243
34252
|
var range={ Min:null, Max:null };
|
|
34244
34253
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
34245
34254
|
var start=this.Data.DataOffset;
|
|
@@ -34263,6 +34272,31 @@ function ChartMultiLine()
|
|
|
34263
34272
|
|
|
34264
34273
|
return range;
|
|
34265
34274
|
}
|
|
34275
|
+
|
|
34276
|
+
//全部数据的最大最小值
|
|
34277
|
+
this.GetFullRangeMaxMin=function()
|
|
34278
|
+
{
|
|
34279
|
+
var range={ Min:null, Max:null };
|
|
34280
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Lines)) return range;
|
|
34281
|
+
|
|
34282
|
+
for(var i=0; i<this.Lines.length; ++i)
|
|
34283
|
+
{
|
|
34284
|
+
var line=this.Lines[i];
|
|
34285
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(line.Point)) continue;
|
|
34286
|
+
|
|
34287
|
+
for(var j=0; j<line.Point.length; ++j)
|
|
34288
|
+
{
|
|
34289
|
+
var point=line.Point[j];
|
|
34290
|
+
|
|
34291
|
+
if (range.Max==null) range.Max=point.Value;
|
|
34292
|
+
else if (range.Max<point.Value) range.Max=point.Value;
|
|
34293
|
+
if (range.Min==null) range.Min=point.Value;
|
|
34294
|
+
else if (range.Min>point.Value) range.Min=point.Value;
|
|
34295
|
+
}
|
|
34296
|
+
}
|
|
34297
|
+
|
|
34298
|
+
return range;
|
|
34299
|
+
}
|
|
34266
34300
|
}
|
|
34267
34301
|
|
|
34268
34302
|
// 线段集合 支持横屏
|
|
@@ -34924,7 +34958,7 @@ function ChartDrawSVG()
|
|
|
34924
34958
|
var rightMargin=2;
|
|
34925
34959
|
var itemSpace=2;
|
|
34926
34960
|
var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
|
|
34927
|
-
|
|
34961
|
+
var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
|
|
34928
34962
|
if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
|
|
34929
34963
|
if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
|
|
34930
34964
|
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
|
|
@@ -34932,6 +34966,8 @@ function ChartDrawSVG()
|
|
|
34932
34966
|
if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
|
|
34933
34967
|
if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
|
|
34934
34968
|
|
|
34969
|
+
if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
|
|
34970
|
+
|
|
34935
34971
|
if (data.Font) this.Canvas.font=data.Font;
|
|
34936
34972
|
else this.Canvas.font=this.TextFont;
|
|
34937
34973
|
this.Canvas.textBaseline='bottom';
|
|
@@ -34960,6 +34996,24 @@ function ChartDrawSVG()
|
|
|
34960
34996
|
rtBorder.Width=rtBorder.Right-rtBorder.Left;
|
|
34961
34997
|
rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
|
|
34962
34998
|
|
|
34999
|
+
var right=this.ChartBorder.GetChartWidth()-1;
|
|
35000
|
+
if (rightBorder==1) right=this.ChartBorder.GetRight();
|
|
35001
|
+
if (rtBorder.Right>right) //右边显示不下,显示在左边
|
|
35002
|
+
{
|
|
35003
|
+
rtBorder.Right=rtSVG.Left;
|
|
35004
|
+
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
|
|
35005
|
+
rtBorder.Left=rtBorder.Right-rtBorder.Width;
|
|
35006
|
+
var xText=rtBorder.Left+lefMargin;
|
|
35007
|
+
for(var i=0;i<aryText.length;++i)
|
|
35008
|
+
{
|
|
35009
|
+
if (i>0) xText+=itemSpace;
|
|
35010
|
+
|
|
35011
|
+
var item=aryText[i];
|
|
35012
|
+
item.X=xText;
|
|
35013
|
+
xText+=item.Width;
|
|
35014
|
+
}
|
|
35015
|
+
}
|
|
35016
|
+
|
|
34963
35017
|
if (data.BGColor)
|
|
34964
35018
|
{
|
|
34965
35019
|
this.Canvas.fillStyle=data.BGColor;
|
|
@@ -24446,6 +24446,8 @@ function IChartPainting()
|
|
|
24446
24446
|
this.DrawSelectedStatus; //function() { } //选中状态
|
|
24447
24447
|
this.PtInChart; //function(x,y) { }
|
|
24448
24448
|
|
|
24449
|
+
this.IsFullRangeMaxMin=false; //this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
|
|
24450
|
+
|
|
24449
24451
|
this.Draw=function()
|
|
24450
24452
|
{
|
|
24451
24453
|
|
|
@@ -38107,6 +38109,8 @@ function ChartMultiLine()
|
|
|
38107
38109
|
this.ArrawLineWidth=5; //箭头粗细
|
|
38108
38110
|
this.Arrow={ Start:false, End:false }; //Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
|
|
38109
38111
|
|
|
38112
|
+
this.IsFullRangeMaxMin=false;
|
|
38113
|
+
|
|
38110
38114
|
this.Draw=function()
|
|
38111
38115
|
{
|
|
38112
38116
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
@@ -38170,6 +38174,9 @@ function ChartMultiLine()
|
|
|
38170
38174
|
|
|
38171
38175
|
var pointItem={X:x, Y:y, End:true};
|
|
38172
38176
|
drawPoints.Point.push(pointItem);
|
|
38177
|
+
|
|
38178
|
+
bFirstPoint=true;
|
|
38179
|
+
prePoint=null;
|
|
38173
38180
|
}
|
|
38174
38181
|
}
|
|
38175
38182
|
|
|
@@ -38320,6 +38327,8 @@ function ChartMultiLine()
|
|
|
38320
38327
|
|
|
38321
38328
|
this.GetMaxMin=function()
|
|
38322
38329
|
{
|
|
38330
|
+
if (this.IsFullRangeMaxMin) return this.GetFullRangeMaxMin();
|
|
38331
|
+
|
|
38323
38332
|
var range={ Min:null, Max:null };
|
|
38324
38333
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
38325
38334
|
var start=this.Data.DataOffset;
|
|
@@ -38343,6 +38352,31 @@ function ChartMultiLine()
|
|
|
38343
38352
|
|
|
38344
38353
|
return range;
|
|
38345
38354
|
}
|
|
38355
|
+
|
|
38356
|
+
//全部数据的最大最小值
|
|
38357
|
+
this.GetFullRangeMaxMin=function()
|
|
38358
|
+
{
|
|
38359
|
+
var range={ Min:null, Max:null };
|
|
38360
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Lines)) return range;
|
|
38361
|
+
|
|
38362
|
+
for(var i=0; i<this.Lines.length; ++i)
|
|
38363
|
+
{
|
|
38364
|
+
var line=this.Lines[i];
|
|
38365
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(line.Point)) continue;
|
|
38366
|
+
|
|
38367
|
+
for(var j=0; j<line.Point.length; ++j)
|
|
38368
|
+
{
|
|
38369
|
+
var point=line.Point[j];
|
|
38370
|
+
|
|
38371
|
+
if (range.Max==null) range.Max=point.Value;
|
|
38372
|
+
else if (range.Max<point.Value) range.Max=point.Value;
|
|
38373
|
+
if (range.Min==null) range.Min=point.Value;
|
|
38374
|
+
else if (range.Min>point.Value) range.Min=point.Value;
|
|
38375
|
+
}
|
|
38376
|
+
}
|
|
38377
|
+
|
|
38378
|
+
return range;
|
|
38379
|
+
}
|
|
38346
38380
|
}
|
|
38347
38381
|
|
|
38348
38382
|
// 线段集合 支持横屏
|
|
@@ -39004,7 +39038,7 @@ function ChartDrawSVG()
|
|
|
39004
39038
|
var rightMargin=2;
|
|
39005
39039
|
var itemSpace=2;
|
|
39006
39040
|
var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
|
|
39007
|
-
|
|
39041
|
+
var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
|
|
39008
39042
|
if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
|
|
39009
39043
|
if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
|
|
39010
39044
|
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
|
|
@@ -39012,6 +39046,8 @@ function ChartDrawSVG()
|
|
|
39012
39046
|
if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
|
|
39013
39047
|
if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
|
|
39014
39048
|
|
|
39049
|
+
if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
|
|
39050
|
+
|
|
39015
39051
|
if (data.Font) this.Canvas.font=data.Font;
|
|
39016
39052
|
else this.Canvas.font=this.TextFont;
|
|
39017
39053
|
this.Canvas.textBaseline='bottom';
|
|
@@ -39040,6 +39076,24 @@ function ChartDrawSVG()
|
|
|
39040
39076
|
rtBorder.Width=rtBorder.Right-rtBorder.Left;
|
|
39041
39077
|
rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
|
|
39042
39078
|
|
|
39079
|
+
var right=this.ChartBorder.GetChartWidth()-1;
|
|
39080
|
+
if (rightBorder==1) right=this.ChartBorder.GetRight();
|
|
39081
|
+
if (rtBorder.Right>right) //右边显示不下,显示在左边
|
|
39082
|
+
{
|
|
39083
|
+
rtBorder.Right=rtSVG.Left;
|
|
39084
|
+
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
|
|
39085
|
+
rtBorder.Left=rtBorder.Right-rtBorder.Width;
|
|
39086
|
+
var xText=rtBorder.Left+lefMargin;
|
|
39087
|
+
for(var i=0;i<aryText.length;++i)
|
|
39088
|
+
{
|
|
39089
|
+
if (i>0) xText+=itemSpace;
|
|
39090
|
+
|
|
39091
|
+
var item=aryText[i];
|
|
39092
|
+
item.X=xText;
|
|
39093
|
+
xText+=item.Width;
|
|
39094
|
+
}
|
|
39095
|
+
}
|
|
39096
|
+
|
|
39043
39097
|
if (data.BGColor)
|
|
39044
39098
|
{
|
|
39045
39099
|
this.Canvas.fillStyle=data.BGColor;
|
|
@@ -112088,6 +112142,8 @@ function ScriptIndex(name,script,args,option)
|
|
|
112088
112142
|
if (varItem.Draw.Name) chart.Name=varItem.Draw.Name;
|
|
112089
112143
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
112090
112144
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
112145
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
112146
|
+
|
|
112091
112147
|
if(varItem.Draw.Arrow) //箭头配置
|
|
112092
112148
|
{
|
|
112093
112149
|
var item=varItem.Draw.Arrow;
|
|
@@ -113576,6 +113632,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
113576
113632
|
chart.Lines=varItem.Draw.DrawData;
|
|
113577
113633
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
113578
113634
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
113635
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
113636
|
+
|
|
113579
113637
|
if(varItem.Draw.Arrow) //箭头配置
|
|
113580
113638
|
{
|
|
113581
113639
|
var item=varItem.Draw.Arrow;
|
|
@@ -114673,6 +114731,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
114673
114731
|
|
|
114674
114732
|
outVarItem.Draw=drawItem;
|
|
114675
114733
|
if (draw.LineDash) drawItem.LineDash=draw.LineDash;
|
|
114734
|
+
if (IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin)) drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;
|
|
114676
114735
|
if (draw.Arrow) drawItem.Arrow=draw.Arrow;
|
|
114677
114736
|
if (IFrameSplitOperator.IsNumber(draw.LineWidth)) drawItem.LineWidth=draw.LineWidth;
|
|
114678
114737
|
|
|
@@ -127299,7 +127358,7 @@ function ScrollBarBGChart()
|
|
|
127299
127358
|
|
|
127300
127359
|
|
|
127301
127360
|
|
|
127302
|
-
var HQCHART_VERSION="1.1.
|
|
127361
|
+
var HQCHART_VERSION="1.1.12383";
|
|
127303
127362
|
|
|
127304
127363
|
function PrintHQChartVersion()
|
|
127305
127364
|
{
|
|
@@ -24490,6 +24490,8 @@ function IChartPainting()
|
|
|
24490
24490
|
this.DrawSelectedStatus; //function() { } //选中状态
|
|
24491
24491
|
this.PtInChart; //function(x,y) { }
|
|
24492
24492
|
|
|
24493
|
+
this.IsFullRangeMaxMin=false; //this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
|
|
24494
|
+
|
|
24493
24495
|
this.Draw=function()
|
|
24494
24496
|
{
|
|
24495
24497
|
|
|
@@ -38151,6 +38153,8 @@ function ChartMultiLine()
|
|
|
38151
38153
|
this.ArrawLineWidth=5; //箭头粗细
|
|
38152
38154
|
this.Arrow={ Start:false, End:false }; //Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
|
|
38153
38155
|
|
|
38156
|
+
this.IsFullRangeMaxMin=false;
|
|
38157
|
+
|
|
38154
38158
|
this.Draw=function()
|
|
38155
38159
|
{
|
|
38156
38160
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
@@ -38214,6 +38218,9 @@ function ChartMultiLine()
|
|
|
38214
38218
|
|
|
38215
38219
|
var pointItem={X:x, Y:y, End:true};
|
|
38216
38220
|
drawPoints.Point.push(pointItem);
|
|
38221
|
+
|
|
38222
|
+
bFirstPoint=true;
|
|
38223
|
+
prePoint=null;
|
|
38217
38224
|
}
|
|
38218
38225
|
}
|
|
38219
38226
|
|
|
@@ -38364,6 +38371,8 @@ function ChartMultiLine()
|
|
|
38364
38371
|
|
|
38365
38372
|
this.GetMaxMin=function()
|
|
38366
38373
|
{
|
|
38374
|
+
if (this.IsFullRangeMaxMin) return this.GetFullRangeMaxMin();
|
|
38375
|
+
|
|
38367
38376
|
var range={ Min:null, Max:null };
|
|
38368
38377
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
38369
38378
|
var start=this.Data.DataOffset;
|
|
@@ -38387,6 +38396,31 @@ function ChartMultiLine()
|
|
|
38387
38396
|
|
|
38388
38397
|
return range;
|
|
38389
38398
|
}
|
|
38399
|
+
|
|
38400
|
+
//全部数据的最大最小值
|
|
38401
|
+
this.GetFullRangeMaxMin=function()
|
|
38402
|
+
{
|
|
38403
|
+
var range={ Min:null, Max:null };
|
|
38404
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Lines)) return range;
|
|
38405
|
+
|
|
38406
|
+
for(var i=0; i<this.Lines.length; ++i)
|
|
38407
|
+
{
|
|
38408
|
+
var line=this.Lines[i];
|
|
38409
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(line.Point)) continue;
|
|
38410
|
+
|
|
38411
|
+
for(var j=0; j<line.Point.length; ++j)
|
|
38412
|
+
{
|
|
38413
|
+
var point=line.Point[j];
|
|
38414
|
+
|
|
38415
|
+
if (range.Max==null) range.Max=point.Value;
|
|
38416
|
+
else if (range.Max<point.Value) range.Max=point.Value;
|
|
38417
|
+
if (range.Min==null) range.Min=point.Value;
|
|
38418
|
+
else if (range.Min>point.Value) range.Min=point.Value;
|
|
38419
|
+
}
|
|
38420
|
+
}
|
|
38421
|
+
|
|
38422
|
+
return range;
|
|
38423
|
+
}
|
|
38390
38424
|
}
|
|
38391
38425
|
|
|
38392
38426
|
// 线段集合 支持横屏
|
|
@@ -39048,7 +39082,7 @@ function ChartDrawSVG()
|
|
|
39048
39082
|
var rightMargin=2;
|
|
39049
39083
|
var itemSpace=2;
|
|
39050
39084
|
var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
|
|
39051
|
-
|
|
39085
|
+
var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
|
|
39052
39086
|
if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
|
|
39053
39087
|
if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
|
|
39054
39088
|
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
|
|
@@ -39056,6 +39090,8 @@ function ChartDrawSVG()
|
|
|
39056
39090
|
if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
|
|
39057
39091
|
if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
|
|
39058
39092
|
|
|
39093
|
+
if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
|
|
39094
|
+
|
|
39059
39095
|
if (data.Font) this.Canvas.font=data.Font;
|
|
39060
39096
|
else this.Canvas.font=this.TextFont;
|
|
39061
39097
|
this.Canvas.textBaseline='bottom';
|
|
@@ -39084,6 +39120,24 @@ function ChartDrawSVG()
|
|
|
39084
39120
|
rtBorder.Width=rtBorder.Right-rtBorder.Left;
|
|
39085
39121
|
rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
|
|
39086
39122
|
|
|
39123
|
+
var right=this.ChartBorder.GetChartWidth()-1;
|
|
39124
|
+
if (rightBorder==1) right=this.ChartBorder.GetRight();
|
|
39125
|
+
if (rtBorder.Right>right) //右边显示不下,显示在左边
|
|
39126
|
+
{
|
|
39127
|
+
rtBorder.Right=rtSVG.Left;
|
|
39128
|
+
if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
|
|
39129
|
+
rtBorder.Left=rtBorder.Right-rtBorder.Width;
|
|
39130
|
+
var xText=rtBorder.Left+lefMargin;
|
|
39131
|
+
for(var i=0;i<aryText.length;++i)
|
|
39132
|
+
{
|
|
39133
|
+
if (i>0) xText+=itemSpace;
|
|
39134
|
+
|
|
39135
|
+
var item=aryText[i];
|
|
39136
|
+
item.X=xText;
|
|
39137
|
+
xText+=item.Width;
|
|
39138
|
+
}
|
|
39139
|
+
}
|
|
39140
|
+
|
|
39087
39141
|
if (data.BGColor)
|
|
39088
39142
|
{
|
|
39089
39143
|
this.Canvas.fillStyle=data.BGColor;
|
|
@@ -112132,6 +112186,8 @@ function ScriptIndex(name,script,args,option)
|
|
|
112132
112186
|
if (varItem.Draw.Name) chart.Name=varItem.Draw.Name;
|
|
112133
112187
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
112134
112188
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
112189
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
112190
|
+
|
|
112135
112191
|
if(varItem.Draw.Arrow) //箭头配置
|
|
112136
112192
|
{
|
|
112137
112193
|
var item=varItem.Draw.Arrow;
|
|
@@ -113620,6 +113676,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
113620
113676
|
chart.Lines=varItem.Draw.DrawData;
|
|
113621
113677
|
if (varItem.Draw.LineDash) chart.LineDash=varItem.Draw.LineDash;
|
|
113622
113678
|
if (IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth)) chart.LineWidth=varItem.Draw.LineWidth;
|
|
113679
|
+
if (IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin)) chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;
|
|
113680
|
+
|
|
113623
113681
|
if(varItem.Draw.Arrow) //箭头配置
|
|
113624
113682
|
{
|
|
113625
113683
|
var item=varItem.Draw.Arrow;
|
|
@@ -114717,6 +114775,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
114717
114775
|
|
|
114718
114776
|
outVarItem.Draw=drawItem;
|
|
114719
114777
|
if (draw.LineDash) drawItem.LineDash=draw.LineDash;
|
|
114778
|
+
if (IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin)) drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;
|
|
114720
114779
|
if (draw.Arrow) drawItem.Arrow=draw.Arrow;
|
|
114721
114780
|
if (IFrameSplitOperator.IsNumber(draw.LineWidth)) drawItem.LineWidth=draw.LineWidth;
|
|
114722
114781
|
|
|
@@ -127343,7 +127402,7 @@ function ScrollBarBGChart()
|
|
|
127343
127402
|
|
|
127344
127403
|
|
|
127345
127404
|
|
|
127346
|
-
var HQCHART_VERSION="1.1.
|
|
127405
|
+
var HQCHART_VERSION="1.1.12383";
|
|
127347
127406
|
|
|
127348
127407
|
function PrintHQChartVersion()
|
|
127349
127408
|
{
|