hqchart 1.1.12379 → 1.1.12382

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.
@@ -4097,7 +4097,7 @@ this.ArrawLength=10;//三角斜边长度
4097
4097
  this.ArrawLineWidth=5;//箭头粗细
4098
4098
  this.Arrow={Start:false,End:false};//Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
4099
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
+ {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
4101
  if(j==line.Point.length-1||j==line.Point.length-2)drawArrowPoints.End.push(pointItem);//结束点
4102
4102
  }else{if(drawPoints.Point.length>0)drawPoints.Point[drawPoints.Point.length-1].End=true;//点断开
4103
4103
  }}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)//背景色
@@ -4144,7 +4144,9 @@ this.newMethod();delete this.newMethod;this.ClassName="ChartDrawSVG";this.Family
4144
4144
  this.IsHScreen=false;//是否横屏
4145
4145
  this.IsDestroy=false;//是否已销毁
4146
4146
  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};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(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;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轴偏移
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};var rightBorder=0;//右边的边界 0=div的宽度 1=图形框架边框
4148
+ 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)//右边显示不下,显示在左边
4149
+ {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
4150
  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
4151
  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
4152
  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;
@@ -12559,7 +12561,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
12559
12561
  };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
12562
  * 版本信息输出
12561
12563
  *
12562
- */var HQCHART_VERSION="1.1.12378";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();//把给外界调用的方法暴露出来
12564
+ */var HQCHART_VERSION="1.1.12381";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
12565
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12564
12566
  // BaseIndex:BaseIndex,
12565
12567
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.12379",
5
+ "version": "1.1.12382",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -34090,6 +34090,9 @@ function ChartMultiLine()
34090
34090
 
34091
34091
  var pointItem={X:x, Y:y, End:true};
34092
34092
  drawPoints.Point.push(pointItem);
34093
+
34094
+ bFirstPoint=true;
34095
+ prePoint=null;
34093
34096
  }
34094
34097
  }
34095
34098
 
@@ -34924,7 +34927,7 @@ function ChartDrawSVG()
34924
34927
  var rightMargin=2;
34925
34928
  var itemSpace=2;
34926
34929
  var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
34927
-
34930
+ var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
34928
34931
  if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
34929
34932
  if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
34930
34933
  if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
@@ -34932,6 +34935,8 @@ function ChartDrawSVG()
34932
34935
  if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
34933
34936
  if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
34934
34937
 
34938
+ if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
34939
+
34935
34940
  if (data.Font) this.Canvas.font=data.Font;
34936
34941
  else this.Canvas.font=this.TextFont;
34937
34942
  this.Canvas.textBaseline='bottom';
@@ -34960,6 +34965,24 @@ function ChartDrawSVG()
34960
34965
  rtBorder.Width=rtBorder.Right-rtBorder.Left;
34961
34966
  rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
34962
34967
 
34968
+ var right=this.ChartBorder.GetChartWidth()-1;
34969
+ if (rightBorder==1) right=this.ChartBorder.GetRight();
34970
+ if (rtBorder.Right>right) //右边显示不下,显示在左边
34971
+ {
34972
+ rtBorder.Right=rtSVG.Left;
34973
+ if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
34974
+ rtBorder.Left=rtBorder.Right-rtBorder.Width;
34975
+ var xText=rtBorder.Left+lefMargin;
34976
+ for(var i=0;i<aryText.length;++i)
34977
+ {
34978
+ if (i>0) xText+=itemSpace;
34979
+
34980
+ var item=aryText[i];
34981
+ item.X=xText;
34982
+ xText+=item.Width;
34983
+ }
34984
+ }
34985
+
34963
34986
  if (data.BGColor)
34964
34987
  {
34965
34988
  this.Canvas.fillStyle=data.BGColor;
@@ -38170,6 +38170,9 @@ function ChartMultiLine()
38170
38170
 
38171
38171
  var pointItem={X:x, Y:y, End:true};
38172
38172
  drawPoints.Point.push(pointItem);
38173
+
38174
+ bFirstPoint=true;
38175
+ prePoint=null;
38173
38176
  }
38174
38177
  }
38175
38178
 
@@ -39004,7 +39007,7 @@ function ChartDrawSVG()
39004
39007
  var rightMargin=2;
39005
39008
  var itemSpace=2;
39006
39009
  var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
39007
-
39010
+ var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
39008
39011
  if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
39009
39012
  if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
39010
39013
  if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
@@ -39012,6 +39015,8 @@ function ChartDrawSVG()
39012
39015
  if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
39013
39016
  if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
39014
39017
 
39018
+ if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
39019
+
39015
39020
  if (data.Font) this.Canvas.font=data.Font;
39016
39021
  else this.Canvas.font=this.TextFont;
39017
39022
  this.Canvas.textBaseline='bottom';
@@ -39040,6 +39045,24 @@ function ChartDrawSVG()
39040
39045
  rtBorder.Width=rtBorder.Right-rtBorder.Left;
39041
39046
  rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
39042
39047
 
39048
+ var right=this.ChartBorder.GetChartWidth()-1;
39049
+ if (rightBorder==1) right=this.ChartBorder.GetRight();
39050
+ if (rtBorder.Right>right) //右边显示不下,显示在左边
39051
+ {
39052
+ rtBorder.Right=rtSVG.Left;
39053
+ if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
39054
+ rtBorder.Left=rtBorder.Right-rtBorder.Width;
39055
+ var xText=rtBorder.Left+lefMargin;
39056
+ for(var i=0;i<aryText.length;++i)
39057
+ {
39058
+ if (i>0) xText+=itemSpace;
39059
+
39060
+ var item=aryText[i];
39061
+ item.X=xText;
39062
+ xText+=item.Width;
39063
+ }
39064
+ }
39065
+
39043
39066
  if (data.BGColor)
39044
39067
  {
39045
39068
  this.Canvas.fillStyle=data.BGColor;
@@ -127299,7 +127322,7 @@ function ScrollBarBGChart()
127299
127322
 
127300
127323
 
127301
127324
 
127302
- var HQCHART_VERSION="1.1.12378";
127325
+ var HQCHART_VERSION="1.1.12381";
127303
127326
 
127304
127327
  function PrintHQChartVersion()
127305
127328
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12378";
8
+ var HQCHART_VERSION="1.1.12381";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -38214,6 +38214,9 @@ function ChartMultiLine()
38214
38214
 
38215
38215
  var pointItem={X:x, Y:y, End:true};
38216
38216
  drawPoints.Point.push(pointItem);
38217
+
38218
+ bFirstPoint=true;
38219
+ prePoint=null;
38217
38220
  }
38218
38221
  }
38219
38222
 
@@ -39048,7 +39051,7 @@ function ChartDrawSVG()
39048
39051
  var rightMargin=2;
39049
39052
  var itemSpace=2;
39050
39053
  var rtBorder={ Left:rtSVG.Right, Right:rtSVG.Right, Bottom:rtSVG.Bottom };
39051
-
39054
+ var rightBorder=0; //右边的边界 0=div的宽度 1=图形框架边框
39052
39055
  if (IFrameSplitOperator.IsNumber(data.ItemSpace)) itemSpace=data.ItemSpace;
39053
39056
  if (IFrameSplitOperator.IsNumber(data.YOffset)) rtBorder.Bottom+=data.YOffset;
39054
39057
  if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Left+=data.XOffset;
@@ -39056,6 +39059,8 @@ function ChartDrawSVG()
39056
39059
  if (IFrameSplitOperator.IsNumber(data.LeftMargin)) lefMargin=data.LeftMargin;
39057
39060
  if (IFrameSplitOperator.IsNumber(data.RightMargin)) rightMargin=data.RightMargin;
39058
39061
 
39062
+ if (IFrameSplitOperator.IsNumber(data.RightBorder)) rightBorder=data.RightBorder;
39063
+
39059
39064
  if (data.Font) this.Canvas.font=data.Font;
39060
39065
  else this.Canvas.font=this.TextFont;
39061
39066
  this.Canvas.textBaseline='bottom';
@@ -39084,6 +39089,24 @@ function ChartDrawSVG()
39084
39089
  rtBorder.Width=rtBorder.Right-rtBorder.Left;
39085
39090
  rtBorder.Top=rtBorder.Bottom-rtBorder.Height;
39086
39091
 
39092
+ var right=this.ChartBorder.GetChartWidth()-1;
39093
+ if (rightBorder==1) right=this.ChartBorder.GetRight();
39094
+ if (rtBorder.Right>right) //右边显示不下,显示在左边
39095
+ {
39096
+ rtBorder.Right=rtSVG.Left;
39097
+ if (IFrameSplitOperator.IsNumber(data.XOffset)) rtBorder.Right-=data.XOffset;
39098
+ rtBorder.Left=rtBorder.Right-rtBorder.Width;
39099
+ var xText=rtBorder.Left+lefMargin;
39100
+ for(var i=0;i<aryText.length;++i)
39101
+ {
39102
+ if (i>0) xText+=itemSpace;
39103
+
39104
+ var item=aryText[i];
39105
+ item.X=xText;
39106
+ xText+=item.Width;
39107
+ }
39108
+ }
39109
+
39087
39110
  if (data.BGColor)
39088
39111
  {
39089
39112
  this.Canvas.fillStyle=data.BGColor;
@@ -127343,7 +127366,7 @@ function ScrollBarBGChart()
127343
127366
 
127344
127367
 
127345
127368
 
127346
- var HQCHART_VERSION="1.1.12378";
127369
+ var HQCHART_VERSION="1.1.12381";
127347
127370
 
127348
127371
  function PrintHQChartVersion()
127349
127372
  {