hqchart 1.1.13746 → 1.1.13758

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.
@@ -34634,6 +34634,7 @@ function ChartLine()
34634
34634
  this.LineWidth; //线段宽度
34635
34635
  this.DrawType=0; //画图方式 0=无效数平滑 1=无效数不画断开
34636
34636
  this.IsDotLine=false; //虚线
34637
+ this.LineDash=g_JSChartResource.DOTLINE.LineDash;
34637
34638
  this.BreakPoint; //断开的点索引 Set();
34638
34639
 
34639
34640
 
@@ -34679,7 +34680,7 @@ function ChartLine()
34679
34680
 
34680
34681
  this.Canvas.save();
34681
34682
  if (this.LineWidth>0) this.Canvas.lineWidth=this.LineWidth * GetDevicePixelRatio();
34682
- if (this.IsDotLine) this.Canvas.setLineDash(g_JSChartResource.DOTLINE.LineDash); //画虚线
34683
+ if (this.IsDotLine) this.Canvas.setLineDash(this.LineDash); //画虚线
34683
34684
  var bFirstPoint=true;
34684
34685
  var drawCount=0;
34685
34686
  for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
@@ -34746,7 +34747,7 @@ function ChartLine()
34746
34747
  this.ClipClient(bHScreen);
34747
34748
  if (this.LineWidth>0) this.Canvas.lineWidth=this.LineWidth * GetDevicePixelRatio();
34748
34749
  this.Canvas.strokeStyle=this.Color;
34749
- if (this.IsDotLine) this.Canvas.setLineDash(g_JSChartResource.DOTLINE.LineDash); //画虚线
34750
+ if (this.IsDotLine) this.Canvas.setLineDash(this.LineDash); //画虚线
34750
34751
 
34751
34752
  var bFirstPoint=true;
34752
34753
  var ptFirst=null;; //第1个点
@@ -34843,7 +34844,7 @@ function ChartLine()
34843
34844
  this.ClipClient(bHScreen);
34844
34845
  if (this.LineWidth>0) this.Canvas.lineWidth=this.LineWidth * GetDevicePixelRatio();
34845
34846
  this.Canvas.strokeStyle=this.Color;
34846
- if (this.IsDotLine) this.Canvas.setLineDash(g_JSChartResource.DOTLINE.LineDash); //画虚线
34847
+ if (this.IsDotLine) this.Canvas.setLineDash(this.LineDash); //画虚线
34847
34848
 
34848
34849
  var bFirstPoint=true;
34849
34850
  var ptFirst=null;; //第1个点
@@ -40153,7 +40154,9 @@ function ChartClipColorStick()
40153
40154
  var yBottom=this.ChartFrame.GetYFromData(this.BaseValue);
40154
40155
  var aryBar=[], aryDiffBar=[], aryText=[];
40155
40156
  var preValue=null;
40156
- for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
40157
+ var start=this.Data.DataOffset;
40158
+ if (start-1>0) preValue=this.Data.Data[start-1]; //上一个数值
40159
+ for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
40157
40160
  {
40158
40161
  var value=this.Data.Data[i];
40159
40162
  if (value==null) continue;
@@ -62517,7 +62520,7 @@ function ChartDrawHLine()
62517
62520
  this.ButtonBGColor='rgb(190,190,190)';
62518
62521
  this.ButtonSpace=3;
62519
62522
 
62520
- this.TextMargin={ Left:0, Right:0 };
62523
+ this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:4*GetDevicePixelRatio() };
62521
62524
 
62522
62525
  this.AlwaysShowLab=false; //总是显示标签
62523
62526
 
@@ -62541,7 +62544,9 @@ function ChartDrawHLine()
62541
62544
  `${12*GetDevicePixelRatio()}px 微软雅黑`,
62542
62545
  `${12*GetDevicePixelRatio()}px 微软雅黑`,
62543
62546
  ],
62544
- };
62547
+ };
62548
+
62549
+ this.LableInfo; //{ Position:2=右侧外部 }
62545
62550
 
62546
62551
  //内部变量
62547
62552
  this.ColseButtonSize=0;
@@ -62549,7 +62554,7 @@ function ChartDrawHLine()
62549
62554
  this.ButtonBGWidth=0;
62550
62555
  this.VerticalButtonInfo={ Width:0, Height:0 }; //垂直按钮信息
62551
62556
 
62552
-
62557
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
62553
62558
 
62554
62559
  this.SetOption=function(option)
62555
62560
  {
@@ -62610,6 +62615,9 @@ function ChartDrawHLine()
62610
62615
  var item=option.TextMargin;
62611
62616
  if (IFrameSplitOperator.IsNumber(item.Left)) this.TextMargin.Left=item.Left;
62612
62617
  if (IFrameSplitOperator.IsNumber(item.Right)) this.TextMargin.Right=item.Right;
62618
+ if (IFrameSplitOperator.IsNumber(item.Top)) this.TextMargin.Top=item.Top;
62619
+ if (IFrameSplitOperator.IsNumber(item.Bottom)) this.TextMargin.Bottom=item.Bottom;
62620
+ if (IFrameSplitOperator.IsNumber(item.YOffset)) this.TextMargin.YOffset=item.YOffset;
62613
62621
  }
62614
62622
  }
62615
62623
  }
@@ -62626,10 +62634,6 @@ function ChartDrawHLine()
62626
62634
  return storageData;
62627
62635
  }
62628
62636
 
62629
-
62630
- this.IsPointIn=this.IsPointIn_XYValue_Line;
62631
-
62632
-
62633
62637
  /*
62634
62638
  this.GetXYCoordinate=function()
62635
62639
  {
@@ -62686,7 +62690,7 @@ function ChartDrawHLine()
62686
62690
  this.ColseButtonSize=0;
62687
62691
  this.SettingButtonSize=0;
62688
62692
  this.ButtonBGWidth=0;
62689
-
62693
+ this.LableInfo=null;
62690
62694
  this.VerticalButtonInfo.Width=0;
62691
62695
  this.VerticalButtonInfo.Height=0;
62692
62696
 
@@ -62749,7 +62753,7 @@ function ChartDrawHLine()
62749
62753
  }
62750
62754
  this.LinePoint.push(line);
62751
62755
 
62752
- if (bVisibleRange)
62756
+ if (bVisibleRange) //在可视范围内
62753
62757
  {
62754
62758
  var yValue=this.Frame.GetYData(drawPoint[0].Y, false);
62755
62759
  var strPrice=yValue.toFixed(this.Precision);
@@ -62763,15 +62767,11 @@ function ChartDrawHLine()
62763
62767
  this.DrawPriceText(strPrice, line.Start, line.End, 1);
62764
62768
  }
62765
62769
  }
62766
-
62767
- var labInfo;
62768
- if (this.GetLabelCallback) labInfo=this.GetLabelCallback(this);
62770
+
62771
+ if (this.GetLabelCallback) this.LableInfo=this.GetLabelCallback(this);
62769
62772
 
62770
62773
  this.AryShowButton=this.GetShowButton(); //获取按钮
62771
-
62772
- //框架内的描述信息
62773
- if (labInfo && bVisibleRange)
62774
- this.DrawLab(labInfo, drawPoint[0].Y);
62774
+ if (bVisibleRange) this.DrawInternalLabel(drawPoint[0].Y); //内部价格标签
62775
62775
 
62776
62776
  //画中心点
62777
62777
  if (bVisibleRange)
@@ -62788,11 +62788,12 @@ function ChartDrawHLine()
62788
62788
  {
62789
62789
  var rtDraw={ };
62790
62790
  this.CalculateButtonSize();
62791
- this.DrawValueText(drawPoint[0].Y, rtDraw, labInfo);
62792
- if (labInfo) this.DrawRightLab(labInfo, rtDraw);
62793
- if (labInfo && bVisibleRange) this.DrawCustomHLine(labInfo, drawPoint[0].Y);
62791
+ this.DrawValueText(drawPoint[0].Y, rtDraw);
62792
+ this.DrawRightLabel(rtDraw);
62793
+ if (bVisibleRange) this.DrawCustomHLine(drawPoint[0].Y);
62794
62794
  }
62795
62795
 
62796
+
62796
62797
  //鼠标是否在按钮上
62797
62798
  if (moveonPoint && mouseStatus)
62798
62799
  {
@@ -62840,113 +62841,130 @@ function ChartDrawHLine()
62840
62841
  ++lineCount;
62841
62842
  }
62842
62843
 
62843
- var size={ Width:maxWidth, Height: lineCount*(lineHeight+lineSpace)+lineSpace, NameWidth:maxNameWidth, TextWidth:maxTextWidth, LineHeight:lineHeight };
62844
+ var size={ Width:maxWidth, Height:lineCount*lineHeight+(lineCount-1)*lineSpace, NameWidth:maxNameWidth, TextWidth:maxTextWidth, LineHeight:lineHeight };
62845
+ if (labInfo.LabelMargin)
62846
+ {
62847
+ var item=labInfo.LabelMargin;
62848
+ if (IFrameSplitOperator.IsNumber(item.Left)) size.Width+=item.Left;
62849
+ if (IFrameSplitOperator.IsNumber(item.Right)) size.Width+=item.Right;
62850
+ if (IFrameSplitOperator.IsNumber(item.Top)) size.Height+=item.Top;
62851
+ if (IFrameSplitOperator.IsNumber(item.Bottom)) size.Height+=item.Bottom;
62852
+ }
62844
62853
 
62845
62854
  return size;
62846
62855
  }
62847
62856
 
62848
- this.DrawLab=function(labInfo, y)
62857
+ //绘制窗口内部标签
62858
+ this.DrawInternalLabel=function(y)
62849
62859
  {
62850
- if (!labInfo) return;
62851
- if (!IFrameSplitOperator.IsNonEmptyArray(labInfo.AryText)) return;
62852
- if (labInfo.Position===2) return;
62860
+ if (!this.LableInfo || !IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryText)) return;
62861
+ if (this.LableInfo.Position==2) return;
62853
62862
 
62854
- var left=this.Frame.ChartBorder.GetLeft();
62855
- var right=this.Frame.ChartBorder.GetRight();
62856
- var labSize=this.CalculateLabSize(labInfo);
62863
+ var border=this.Frame.GetBorder();
62864
+ var left=border.Left;
62865
+ var right=border.Right;
62866
+ var labSize=this.CalculateLabSize(this.LableInfo);
62857
62867
  var drawLeft=right-labSize.Width;
62868
+ var drawRight=drawLeft+labSize.Width;
62858
62869
  var drawTop=y-labSize.Height-1;
62870
+ if (drawTop<=border.TopEx) drawTop=y+1;
62871
+
62872
+ var rtLabel={ Left:drawLeft, Right:drawRight, Top:drawTop, Width:labSize.Width, Height:labSize.Height };
62873
+ rtLabel.Bottom=rtLabel.Top+rtLabel.Height;
62859
62874
 
62875
+ this.DrawLabel(this.LableInfo, labSize, rtLabel);
62876
+ }
62877
+
62878
+ //绘制标签页
62879
+ this.DrawLabel=function(labelInfo, labelSize, rtLabel)
62880
+ {
62860
62881
  //背景色
62861
- if (labInfo.BGColor)
62882
+ if (labelInfo.BGColor)
62862
62883
  {
62863
- this.Canvas.fillStyle=labInfo.BGColor;
62864
- var rtTop=y-labSize.Height-4;
62865
- this.Canvas.fillRect(ToFixedRect(drawLeft),ToFixedRect(rtTop),ToFixedRect(right+drawLeft),ToFixedRect(y-rtTop));
62884
+ this.Canvas.fillStyle=labelInfo.BGColor;
62885
+ this.Canvas.fillRect(ToFixedRect(rtLabel.Left),ToFixedRect(rtLabel.Top),ToFixedRect(rtLabel.Width),ToFixedRect(rtLabel.Height));
62866
62886
  }
62867
62887
 
62868
- var yText=drawTop;
62869
- for(var i=0;i<labInfo.AryText.length;++i)
62888
+ var labelMargin=labelInfo.LabelMargin;
62889
+ var lineSpace=0;
62890
+ if (IFrameSplitOperator.IsNumber(labelInfo.LineSpace)) lineSpace=labelInfo.LineSpace;
62891
+
62892
+ var yText=rtLabel.Top;
62893
+ var xText=rtLabel.Left;
62894
+ var yRightText=rtLabel.Right;
62895
+
62896
+ if (labelMargin)
62870
62897
  {
62871
- var item=labInfo.AryText[i];
62898
+ if (IFrameSplitOperator.IsNumber(labelMargin.Left)) xText+=labelMargin.Left;
62899
+ if (IFrameSplitOperator.IsNumber(labelMargin.Right)) yRightText-=labelMargin.Right;
62900
+ if (IFrameSplitOperator.IsNumber(labelMargin.Top)) yText+=labelMargin.Top;
62901
+
62902
+ }
62903
+
62904
+ this.Canvas.font=this.TextFont;
62905
+ this.Canvas.textBaseline="top";
62906
+ for(var i=0;i<labelInfo.AryText.length;++i)
62907
+ {
62908
+ if (i>0) yText+=lineSpace;
62909
+ var item=labelInfo.AryText[i];
62872
62910
  if (item.Name)
62873
62911
  {
62912
+ this.Canvas.textAlign="left";
62874
62913
  this.Canvas.fillStyle=item.NameColor;
62875
- this.Canvas.fillText(item.Name,drawLeft+1,yText+1);
62914
+ this.Canvas.fillText(item.Name,xText,yText);
62876
62915
  }
62877
62916
 
62878
62917
  if (item.Text)
62879
62918
  {
62919
+ this.Canvas.textAlign="right";
62880
62920
  this.Canvas.fillStyle=item.TextColor;
62881
- this.Canvas.fillText(item.Text,drawLeft+labSize.NameWidth+1,yText+1);
62921
+ this.Canvas.fillText(item.Text,yRightText,yText);
62882
62922
  }
62883
62923
 
62884
- yText+=labSize.LineHeight;
62924
+ yText+=labelSize.LineHeight;
62885
62925
  }
62886
62926
  }
62887
62927
 
62888
- this.DrawRightLab=function(labInfo, rtLeftDraw)
62928
+ this.DrawRightLabel=function(rtLeftDraw)
62889
62929
  {
62890
- if (!labInfo) return;
62891
- if (!IFrameSplitOperator.IsNonEmptyArray(labInfo.AryText)) return;
62892
- if (labInfo.Position!=2) return;
62893
- var labSize=this.CalculateLabSize(labInfo);
62930
+ if (!this.LableInfo || !IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryText)) return;
62931
+ if (this.LableInfo.Position!=2) return;
62932
+
62933
+ var labSize=this.CalculateLabSize(this.LableInfo);
62934
+ var border=this.Frame.GetBorder();
62894
62935
 
62895
62936
  var drawLeft=rtLeftDraw.Right-labSize.Width;
62896
62937
  if (drawLeft<rtLeftDraw.Left) drawLeft=rtLeftDraw.Left;
62897
62938
  var drawRight=drawLeft+labSize.Width;
62939
+
62898
62940
  var drawTop=rtLeftDraw.Bottom;
62899
- var lineSpace=0;
62900
- if (IFrameSplitOperator.IsNumber(labInfo.LineSpace)) lineSpace=labInfo.LineSpace;
62901
62941
 
62902
- //背景色
62903
- var rtLab={ Left:drawLeft, Top:drawTop, Width:labSize.Width, Height:labSize.Height }
62904
- rtLab.Right=rtLab.Left+rtLab.Width;
62905
- rtLab.Bottom=rtLab.Top+rtLab.Height;
62906
- if (labInfo.BGColor)
62942
+ var rtLabel={ Left:drawLeft, Right:drawRight, Top:drawTop, Width:labSize.Width, Height:labSize.Height };
62943
+ rtLabel.Bottom=rtLabel.Top+rtLabel.Height;
62944
+ if (rtLabel.Bottom>border.Bottom) //标签页超过窗口底部 绘制到价格标签上面
62907
62945
  {
62908
- this.Canvas.fillStyle=labInfo.BGColor;
62909
- this.Canvas.fillRect(ToFixedRect(rtLab.Left),ToFixedRect(rtLab.Top),ToFixedRect(rtLab.Width),ToFixedRect(rtLab.Height));
62910
- }
62911
-
62912
- var yText=drawTop+1+lineSpace;
62913
- this.Canvas.textBaseline="top";
62914
- for(var i=0;i<labInfo.AryText.length;++i)
62915
- {
62916
- var item=labInfo.AryText[i];
62917
- if (item.Name)
62918
- {
62919
- this.Canvas.textAlign="left";
62920
- this.Canvas.fillStyle=item.NameColor;
62921
- this.Canvas.fillText(item.Name,drawLeft+1,yText+1);
62922
- }
62923
-
62924
- if (item.Text)
62925
- {
62926
- this.Canvas.textAlign="right";
62927
- this.Canvas.fillStyle=item.TextColor;
62928
- this.Canvas.fillText(item.Text,drawRight-1,yText+1);
62929
- }
62930
-
62931
- yText+=labSize.LineHeight+lineSpace;
62946
+ rtLabel.Bottom=rtLeftDraw.Top;
62947
+ rtLabel.Top=rtLabel.Bottom-rtLabel.Height;
62932
62948
  }
62933
62949
 
62934
- this.DrawVerticalButton(rtLab);
62950
+ this.DrawLabel(this.LableInfo, labSize, rtLabel);
62951
+
62952
+ this.DrawVerticalButton(rtLabel);
62935
62953
  }
62936
62954
 
62937
- this.DrawCustomHLine=function(labInfo, yLine)
62955
+ this.DrawCustomHLine=function(yLine)
62938
62956
  {
62939
- if (!labInfo) return;
62940
- if (!IFrameSplitOperator.IsNonEmptyArray(labInfo.AryLine)) return;
62957
+ if (!this.LableInfo) return;
62958
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryLine)) return;
62941
62959
 
62942
62960
  var left=this.Frame.ChartBorder.GetLeft();
62943
62961
  var right=this.Frame.ChartBorder.GetRight();
62944
62962
  var pixelRatio=GetDevicePixelRatio();
62945
62963
 
62946
62964
  var yMax=yLine, yMin=yLine;
62947
- for(var i=0;i<labInfo.AryLine.length;++i)
62965
+ for(var i=0;i<this.LableInfo.AryLine.length;++i)
62948
62966
  {
62949
- var item=labInfo.AryLine[i];
62967
+ var item=this.LableInfo.AryLine[i];
62950
62968
  if (!IFrameSplitOperator.IsNumber(item.Value)) continue;
62951
62969
  if (item.Width<0) continue;
62952
62970
 
@@ -62971,9 +62989,9 @@ function ChartDrawHLine()
62971
62989
  if (yMin>yFixed) yMin=yFixed;
62972
62990
  }
62973
62991
 
62974
- if (yMax!=yMin && labInfo.VLine)
62992
+ if (yMax!=yMin && this.LableInfo.VLine)
62975
62993
  {
62976
- var item=labInfo.VLine;
62994
+ var item=this.LableInfo.VLine;
62977
62995
  var x=left+20*pixelRatio;
62978
62996
  if (IFrameSplitOperator.IsNumber(item.XOffset)) x=left+item.XOffset*pixelRatio;
62979
62997
  x=ToFixedPoint(x);
@@ -62987,14 +63005,14 @@ function ChartDrawHLine()
62987
63005
  }
62988
63006
  }
62989
63007
 
62990
- this.DrawValueText=function(y, rtDraw, labInfo)
63008
+ this.DrawValueText=function(y, rtDraw)
62991
63009
  {
62992
63010
  var left=this.Frame.ChartBorder.GetLeft();
62993
63011
  var right=this.Frame.ChartBorder.GetRight();
62994
63012
  var top=this.Frame.ChartBorder.GetTopEx();
62995
63013
  var bottom=this.Frame.ChartBorder.GetBottomEx();
62996
63014
  var pixelTatio = GetDevicePixelRatio();
62997
-
63015
+ var labInfo=this.LabelInfo;
62998
63016
  if (labInfo && IFrameSplitOperator.IsNumber(labInfo.TopOffset)) top-=labInfo.TopOffset;
62999
63017
  if (labInfo && IFrameSplitOperator.IsNumber(labInfo.BottomOffset)) bottom+=labInfo.BottomOffset;
63000
63018
 
@@ -63029,12 +63047,15 @@ function ChartDrawHLine()
63029
63047
  this.Canvas.font=this.Font;
63030
63048
  var textWidth=this.Canvas.measureText(strValue).width;
63031
63049
  var lineHeight=this.GetFontHeight();
63032
- var rtBG={ Left:right+this.RightSpaceWidth, Top:y- lineHeight/2, Width:textWidth+4, Height:lineHeight };
63033
- //rtBG.Right=rtBG.Left+rtBG.Width;
63034
- rtBG.Bottom=rtBG.Top+rtBG.Height;
63050
+ var rtBG={ Left:right+this.RightSpaceWidth, YCenter:y, Width:textWidth, Height:lineHeight };
63051
+ rtBG.Height+=(this.TextMargin.Top+this.TextMargin.Bottom);
63035
63052
  rtBG.Width+=(this.TextMargin.Left+this.TextMargin.Right);
63036
63053
  rtBG.Right=rtBG.Left+rtBG.Width;
63037
- var xText=rtBG.Left+this.TextMargin.Left+2;
63054
+ rtBG.Top=rtBG.YCenter-rtBG.Height/2;
63055
+ rtBG.Bottom=rtBG.Top+rtBG.Height;
63056
+
63057
+ var xText=rtBG.Left+this.TextMargin.Left;
63058
+ var yText=rtBG.Top+this.TextMargin.Top+this.TextMargin.YOffset;
63038
63059
 
63039
63060
  if (this.ButtonPosition==1)
63040
63061
  {
@@ -63047,8 +63068,8 @@ function ChartDrawHLine()
63047
63068
 
63048
63069
  this.Canvas.fillStyle=this.ValueTextColor
63049
63070
  this.Canvas.textAlign="left";
63050
- this.Canvas.textBaseline="middle";
63051
- this.Canvas.fillText(strValue,xText,y);
63071
+ this.Canvas.textBaseline="top";
63072
+ this.Canvas.fillText(strValue,xText,yText);
63052
63073
 
63053
63074
  rtDraw.Left=rtBG.Left;
63054
63075
  rtDraw.Top=rtBG.Top;
@@ -109134,6 +109155,12 @@ function JSDraw(errorHandler,symbolData)
109134
109155
  return offset;
109135
109156
  }
109136
109157
 
109158
+ this.LINEDASH=function(aryData)
109159
+ {
109160
+ if (IFrameSplitOperator.IsNonEmptyArray(aryData)) return aryData.slice();
109161
+ return [];
109162
+ }
109163
+
109137
109164
  this.KLINETYPE=function(type)
109138
109165
  {
109139
109166
  return type;
@@ -116005,6 +116032,7 @@ function JSExecute(ast,option)
116005
116032
  var isFirstDraw=null;
116006
116033
  let xOffset=null, yOffset=null;
116007
116034
  var klineType=null;
116035
+ var lineDash=null;
116008
116036
  for(let j=0; j<item.Expression.Expression.length; ++j)
116009
116037
  {
116010
116038
  let itemExpression=item.Expression.Expression[j];
@@ -116133,6 +116161,11 @@ function JSExecute(ast,option)
116133
116161
  {
116134
116162
  yOffset=itemExpression.Out;
116135
116163
  }
116164
+ else if (itemExpression.Callee.Name=="LINEDASH")
116165
+ {
116166
+ if (IFrameSplitOperator.IsNonEmptyArray(itemExpression.Out))
116167
+ lineDash=itemExpression.Out.slice();
116168
+ }
116136
116169
  else if (itemExpression.Callee.Name=="FIRSTDRAW")
116137
116170
  {
116138
116171
  if (itemExpression.Out===0) isFirstDraw=false;
@@ -116297,6 +116330,7 @@ function JSExecute(ast,option)
116297
116330
  if (isShow == false) value.IsShow = false;
116298
116331
  if (isExData==true) value.IsExData = true;
116299
116332
  if (isDotLine==true) value.IsDotLine=true;
116333
+ if (IFrameSplitOperator.IsNonEmptyArray(lineDash)) value.LineDash=lineDash;
116300
116334
  if (isOverlayLine==true) value.IsOverlayLine=true;
116301
116335
  if (isSingleLine==true) value.IsSingleLine=true;
116302
116336
  if (isNoneName==true) value.NoneName=true;
@@ -116309,6 +116343,7 @@ function JSExecute(ast,option)
116309
116343
  var outVar={Name:draw.Name, Draw:draw, Type:1};
116310
116344
  if (color) outVar.Color=color;
116311
116345
  if (isDotLine==true) outVar.IsDotLine=true;
116346
+ if (IFrameSplitOperator.IsNonEmptyArray(lineDash)) outVar.LineDash=lineDash;
116312
116347
  if (lineWidth) outVar.LineWidth=lineWidth;
116313
116348
  if (isDrawAbove) outVar.IsDrawAbove=true;
116314
116349
  if (isDrawCenter) outVar.IsDrawCenter=true;
@@ -116333,6 +116368,7 @@ function JSExecute(ast,option)
116333
116368
  if (isShow==false) value.IsShow=false;
116334
116369
  if (isExData==true) value.IsExData = true;
116335
116370
  if (isDotLine==true) value.IsDotLine=true;
116371
+ if (IFrameSplitOperator.IsNonEmptyArray(lineDash)) value.LineDash=lineDash;
116336
116372
  if (isOverlayLine==true) value.IsOverlayLine=true;
116337
116373
  if (isSingleLine==true) value.IsSingleLine=true;
116338
116374
  if (isShowTitle==false) value.IsShowTitle=false;
@@ -116820,6 +116856,9 @@ function JSExecute(ast,option)
116820
116856
  case "YMOVE":
116821
116857
  node.Out=this.Draw.YMOVE(args[0]);
116822
116858
  break;
116859
+ case "LINEDASH":
116860
+ node.Out=this.Draw.LINEDASH(args);
116861
+ break;
116823
116862
  case "FIRSTDRAW":
116824
116863
  node.Out=this.Draw.FIRSTDRAW(args[0]);
116825
116864
  break;
@@ -119079,7 +119118,15 @@ function ScriptIndex(name,script,args,option)
119079
119118
  if (!isNaN(width) && width>0) line.LineWidth=width;
119080
119119
  }
119081
119120
 
119082
- if (varItem.IsDotLine) line.IsDotLine=true; //虚线
119121
+ if (varItem.IsDotLine)
119122
+ {
119123
+ line.IsDotLine=true; //虚线
119124
+ line.LineDash=g_JSChartResource.DOTLINE.LineDash.slice();
119125
+ }
119126
+
119127
+ //虚线设置
119128
+ if (IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash)) line.LineDash=varItem.LineDash;
119129
+
119083
119130
  if (varItem.IsShow==false) line.IsShow=false;
119084
119131
 
119085
119132
  let titleIndex=windowIndex+1;
@@ -143141,7 +143188,7 @@ function HQChartScriptWorker()
143141
143188
 
143142
143189
 
143143
143190
 
143144
- var HQCHART_VERSION="1.1.13745";
143191
+ var HQCHART_VERSION="1.1.13757";
143145
143192
 
143146
143193
  function PrintHQChartVersion()
143147
143194
  {