hqchart 1.1.14313 → 1.1.14320

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.
@@ -35854,6 +35854,220 @@ function ChartSimplePie()
35854
35854
  }
35855
35855
  }
35856
35856
 
35857
+
35858
+ //雷达图
35859
+ function ChartSimpleRadar()
35860
+ {
35861
+ this.newMethod=IChartPainting; //派生
35862
+ this.newMethod();
35863
+ delete this.newMethod;
35864
+
35865
+ this.ClassName='ChartSimpleRadar'; //类名
35866
+ this.BorderPoint=[]; //边框点
35867
+ this.DataPoint=[]; //数据点
35868
+ this.CenterPoint={};
35869
+ this.StartAngle=0;
35870
+ this.Color='rgb(198,198,198)';
35871
+ this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
35872
+ this.AreaLineColor='rgb(242,154,118)';
35873
+ this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
35874
+ this.TitleColor='rgb(102,102,102)';
35875
+ this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
35876
+
35877
+ this.DrawBorder=function() //画边框
35878
+ {
35879
+ if (this.BorderPoint.length<=0) return;
35880
+
35881
+ this.Canvas.font=this.TitleFont;
35882
+ this.Canvas.strokeStyle = this.Color;
35883
+ const aryBorder=[1,0.8,0.6,0.4,0.2];
35884
+ for (let j in aryBorder)
35885
+ {
35886
+ var rate = aryBorder[j];
35887
+ var isFirstDraw=true;
35888
+ for(let i in this.BorderPoint)
35889
+ {
35890
+ var item=this.BorderPoint[i];
35891
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
35892
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
35893
+ if (isFirstDraw)
35894
+ {
35895
+ this.Canvas.beginPath();
35896
+ this.Canvas.moveTo(item.X,item.Y);
35897
+ isFirstDraw=false;
35898
+ }
35899
+ else
35900
+ {
35901
+ this.Canvas.lineTo(item.X,item.Y);
35902
+ }
35903
+ }
35904
+
35905
+ this.Canvas.closePath();
35906
+ this.Canvas.stroke();
35907
+ this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
35908
+ this.Canvas.fill();
35909
+ }
35910
+
35911
+ this.Canvas.beginPath();
35912
+ for(let i in this.BorderPoint)
35913
+ {
35914
+ var item=this.BorderPoint[i];
35915
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
35916
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
35917
+ this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
35918
+ this.Canvas.lineTo(item.X,item.Y);
35919
+ this.DrawText(item);
35920
+ }
35921
+ this.Canvas.stroke();
35922
+ }
35923
+
35924
+ this.DrawArea=function()
35925
+ {
35926
+ if (!this.DataPoint || this.DataPoint.length<=0) return;
35927
+
35928
+ this.Canvas.fillStyle = this.AreaColor;
35929
+ this.Canvas.strokeStyle = this.AreaLineColor;
35930
+ this.Canvas.beginPath();
35931
+ var isFirstDraw=true;
35932
+ for(let i in this.DataPoint)
35933
+ {
35934
+ var item=this.DataPoint[i];
35935
+ if (isFirstDraw)
35936
+ {
35937
+ this.Canvas.beginPath();
35938
+ this.Canvas.moveTo(item.X,item.Y);
35939
+ isFirstDraw=false;
35940
+ }
35941
+ else
35942
+ {
35943
+ this.Canvas.lineTo(item.X,item.Y);
35944
+ }
35945
+ }
35946
+
35947
+ this.Canvas.closePath();
35948
+ this.Canvas.fill();
35949
+ this.Canvas.stroke();
35950
+ }
35951
+
35952
+ this.DrawText=function(item)
35953
+ {
35954
+ if (!item.Text) return;
35955
+
35956
+ //JSConsole.Chart.Log(item.Text, item.Angle);
35957
+ this.Canvas.fillStyle = this.TitleColor;
35958
+ var xText = item.X, yText = item.Y;
35959
+
35960
+ //显示每个角度的位置
35961
+ if (item.Angle > 0 && item.Angle < 45) {
35962
+ this.Canvas.textAlign = 'left';
35963
+ this.Canvas.textBaseline = 'middle';
35964
+ xText += 2;
35965
+ }
35966
+ else if (item.Angle >= 0 && item.Angle < 90) {
35967
+ this.Canvas.textAlign = 'left';
35968
+ this.Canvas.textBaseline = 'top';
35969
+ xText += 2;
35970
+ }
35971
+ else if (item.Angle >= 90 && item.Angle < 135) {
35972
+ this.Canvas.textAlign = 'right';
35973
+ this.Canvas.textBaseline = 'top';
35974
+ xText -= 2;
35975
+ }
35976
+ else if (item.Angle >= 135 && item.Angle < 180) {
35977
+ this.Canvas.textAlign = 'right';
35978
+ this.Canvas.textBaseline = 'top';
35979
+ xText -= 2;
35980
+ }
35981
+ else if (item.Angle >= 180 && item.Angle < 225) {
35982
+ this.Canvas.textAlign = 'right';
35983
+ this.Canvas.textBaseline = 'middle';
35984
+ xText -= 2;
35985
+ }
35986
+ else if (item.Angle >= 225 && item.Angle <= 270) {
35987
+ this.Canvas.textAlign = 'center';
35988
+ this.Canvas.textBaseline = 'bottom';
35989
+ }
35990
+ else if (item.Angle > 270 && item.Angle < 315) {
35991
+ this.Canvas.textAlign = 'left';
35992
+ this.Canvas.textBaseline = 'bottom';
35993
+ xText += 2;
35994
+ }
35995
+ else {
35996
+ this.Canvas.textAlign = 'left';
35997
+ this.Canvas.textBaseline = 'middle';
35998
+ xText += 2;
35999
+ }
36000
+
36001
+ this.Canvas.fillText(item.Text, xText, yText);
36002
+ }
36003
+
36004
+ this.Draw=function()
36005
+ {
36006
+ this.BorderPoint=[];
36007
+ this.DataPoint=[];
36008
+ this.CenterPoint={};
36009
+ if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
36010
+ this.CalculatePoints(null);
36011
+ else
36012
+ this.CalculatePoints(this.Data.Data);
36013
+
36014
+ this.DrawBorder();
36015
+ this.DrawArea();
36016
+ }
36017
+
36018
+ this.CalculatePoints=function(data)
36019
+ {
36020
+ let left=this.ChartBorder.GetLeft();
36021
+ let right=this.ChartBorder.GetRight();
36022
+ let top=this.ChartBorder.GetTop();
36023
+ let bottom=this.ChartBorder.GetBottom();
36024
+ let width=this.ChartBorder.GetWidth();
36025
+ let height=this.ChartBorder.GetHeight();
36026
+
36027
+ let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
36028
+ let radius=Math.min(width/2,height/2)-2 //半径
36029
+ let count=Math.max(5,data?data.length:0);
36030
+ let averageAngle=360/count;
36031
+ for(let i=0;i<count;++i)
36032
+ {
36033
+ let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
36034
+ let angle = ptBorder.Angle;
36035
+
36036
+ if (data && i<data.length)
36037
+ {
36038
+ var item=data[i];
36039
+ let ptData={Index:i,Text:item.Text};
36040
+ ptBorder.Text=item.Name;
36041
+ if (!item.Value)
36042
+ {
36043
+ ptData.X=ptCenter.X;
36044
+ ptData.Y=ptCenter.Y;
36045
+ }
36046
+ else
36047
+ {
36048
+ var value=item.Value;
36049
+ if (value>=1) value=1;
36050
+ var dataRadius=radius*value;
36051
+ ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
36052
+ ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
36053
+ }
36054
+
36055
+ this.DataPoint.push(ptData);
36056
+ }
36057
+
36058
+ this.BorderPoint.push(ptBorder);
36059
+ }
36060
+
36061
+ this.CenterPoint=ptCenter;
36062
+ }
36063
+
36064
+ //空数据
36065
+ this.DrawEmptyData=function()
36066
+ {
36067
+ JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
36068
+ }
36069
+ }
36070
+
35857
36071
  //分钟成交量 支持横屏
35858
36072
  function ChartMinuteVolumBar()
35859
36073
  {
@@ -56481,6 +56695,7 @@ function ChartCorssCursor()
56481
56695
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
56482
56696
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
56483
56697
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
56698
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
56484
56699
  this.TextHeight=20; //文本字体高度
56485
56700
  this.LastPoint;
56486
56701
  this.LastValue; //{ Y:{ Value:, Extend: } }
@@ -56536,6 +56751,7 @@ function ChartCorssCursor()
56536
56751
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
56537
56752
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
56538
56753
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
56754
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
56539
56755
  }
56540
56756
 
56541
56757
  this.GetCloseYPoint=function(index)
@@ -56794,10 +57010,10 @@ function ChartCorssCursor()
56794
57010
  }
56795
57011
 
56796
57012
  var pixel=GetDevicePixelRatio();
56797
- if (this.HPenType==1 || this.HPenType==0) //0=实线 1=虚线
57013
+ if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
56798
57014
  {
56799
57015
  this.Canvas.strokeStyle=this.HPenColor;
56800
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57016
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
56801
57017
  //this.Canvas.lineWidth=0.5
56802
57018
  this.Canvas.beginPath();
56803
57019
  this.Canvas.moveTo(left,ToFixedPoint(y));
@@ -56810,7 +57026,7 @@ function ChartCorssCursor()
56810
57026
  this.Canvas.strokeStyle=this.VPenColor;
56811
57027
  if (this.VPenType==0)
56812
57028
  {
56813
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57029
+ this.Canvas.setLineDash(this.LineDash); //虚线
56814
57030
  }
56815
57031
  else if (this.VPenType==2)
56816
57032
  {
@@ -57405,7 +57621,7 @@ function ChartCorssCursor()
57405
57621
  var pixel=GetDevicePixelRatio();
57406
57622
  this.Canvas.save();
57407
57623
  this.Canvas.strokeStyle=this.HPenColor;
57408
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57624
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
57409
57625
 
57410
57626
  //画竖线
57411
57627
  this.Canvas.beginPath();
@@ -57419,7 +57635,7 @@ function ChartCorssCursor()
57419
57635
  this.Canvas.strokeStyle=this.VPenColor;
57420
57636
  if (this.VPenType==0)
57421
57637
  {
57422
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57638
+ this.Canvas.setLineDash(this.LineDash); //虚线
57423
57639
  }
57424
57640
  else if (this.VPenType==2)
57425
57641
  {
@@ -60695,7 +60911,12 @@ function DynamicChartTitlePainting()
60695
60911
  {
60696
60912
  this.Font=g_JSChartResource.TitleFont;
60697
60913
  this.TitleColor=g_JSChartResource.DefaultTextColor;
60914
+ this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
60698
60915
  this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
60916
+
60917
+ this.BGColor=g_JSChartResource.IndexTitleBGColor;
60918
+ this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
60919
+ this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
60699
60920
  }
60700
60921
 
60701
60922
  this.SetDynamicTitleData=function(outName, args, data)
@@ -74369,6 +74590,7 @@ function JSChartResource()
74369
74590
  this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
74370
74591
  this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
74371
74592
  this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
74593
+ this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
74372
74594
 
74373
74595
  this.CorssCursor=
74374
74596
  {
@@ -75789,6 +76011,7 @@ function JSChartResource()
75789
76011
  if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
75790
76012
  if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
75791
76013
  if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
76014
+ if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
75792
76015
  if (style.CorssCursor && style.CorssCursor.RightButton)
75793
76016
  {
75794
76017
  var item=style.CorssCursor.RightButton;
@@ -89828,12 +90051,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89828
90051
  this.CaclutateCallCationYRange();
89829
90052
  }
89830
90053
 
90054
+ //增量更新
89831
90055
  this.RecvUpdateMinuteData=function(data)
89832
90056
  {
89833
90057
  var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
89834
90058
  var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
89835
- this.BeforeOpenData=null;
89836
- this.AfterCloseData=null;
90059
+
89837
90060
  var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
89838
90061
  var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
89839
90062
  var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
@@ -89852,92 +90075,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89852
90075
  return;
89853
90076
  }
89854
90077
 
89855
- //原始数据
90078
+ if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
90079
+ if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
89856
90080
 
90081
+ //原始数据
89857
90082
  this.UpdateLatestMinuteDataV2(minuteData);
89858
- var sourceData=this.SourceData;
89859
- var aryMinuteData=this.SourceData.Data;
89860
- this.ColorLineData=aryColorData;
89861
- this.TradeDate=data.stock[0].date;
89862
- this.Frame.SetDayCount(1); //单日数据
89863
- this.SourceData.UpdateTime=updateTime;
89864
- this.Symbol=minuteData.Symbol;
89865
- this.Name=minuteData.Name;
89866
-
89867
- this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
89868
-
89869
- if (this.ShareAfterVol==2) //盘前, 盘后成交量公用坐标
89870
- {
89871
- if (this.BeforeOpenData && this.AfterCloseData)
89872
- {
89873
- var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
89874
- var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
89875
- this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
89876
- this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
89877
- }
89878
- }
90083
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
89879
90084
 
89880
- var yClose=minuteData.YClose;
89881
- var upperSymbol=this.Symbol.toUpperCase();
89882
- var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
89883
- if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
89884
- this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
89885
- var extendData=null;
89886
- if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
89887
- this.BindMainData(sourceData,yClose, extendData);
89888
-
89889
- if (this.Frame.SubFrame.length>2)
90085
+ if (data.AutoUpdate===false) //不执行自动更新
89890
90086
  {
89891
- var bindData=new ChartData();
89892
- bindData.Data=aryMinuteData;
89893
- for(var i=2; i<this.Frame.SubFrame.length; ++i)
89894
- {
89895
- this.BindIndexData(i,bindData);
89896
- }
89897
- }
89898
90087
 
89899
- for(let i=0; i<this.Frame.SubFrame.length; ++i)
90088
+ }
90089
+ else
89900
90090
  {
89901
- var item=this.Frame.SubFrame[i];
89902
- item.Frame.XSplitOperator.Symbol=this.Symbol;
89903
- item.Frame.XSplitOperator.DayCount=1;
89904
- item.Frame.XSplitOperator.Operator(); //调整X轴个数
89905
- item.Frame.YSplitOperator.Symbol=this.Symbol;
89906
-
89907
- if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
89908
- {
89909
- for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
89910
- {
89911
- var overlayItem=item.OverlayIndex[j];
89912
- overlayItem.Frame.XPointCount=item.Frame.XPointCount;
89913
- overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
89914
- }
89915
- }
90091
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
90092
+ this.AutoUpdate();
89916
90093
  }
89917
-
89918
- this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
89919
- this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
89920
-
89921
- if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
89922
-
89923
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
89924
-
89925
- var chartInfo=this.GetChartMinuteInfo();
89926
- if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
89927
-
89928
- this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
89929
- this.RequestMinuteInfoData();
89930
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
89931
- this.CreateChartDrawPictureByStorage(); //创建画图工具
89932
-
89933
- this.UpdateFrameMaxMin(); //调整坐标最大 最小值
89934
- this.Frame.SetSizeChage(true);
89935
- this.Draw();
89936
-
89937
- this.BindAllOverlayIndexData(this.SourceData);
89938
-
89939
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
89940
- this.AutoUpdate();
89941
90094
  }
89942
90095
 
89943
90096
  this.RecvMinuteData=function(data)
@@ -90004,15 +90157,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90004
90157
  var sourceData=new ChartData();
90005
90158
  sourceData.Data=aryMinuteData;
90006
90159
  sourceData.UpdateTime=updateTime;
90160
+ this.SourceData=sourceData;
90007
90161
 
90008
90162
  this.ColorLineData=aryColorData;
90009
90163
 
90010
- this.TradeDate=data.stock[0].date;
90164
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
90165
+
90166
+ if (data.AutoUpdate===false) //不执行自动更新
90167
+ {
90168
+
90169
+ }
90170
+ else
90171
+ {
90172
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
90173
+ this.AutoUpdate();
90174
+ }
90175
+ }
90176
+
90177
+ //更新单日分时图
90178
+ this.UpdateMinuteUI=function(stockData, eventData)
90179
+ {
90180
+ this.TradeDate=stockData.date;
90011
90181
  this.Frame.SetDayCount(1); //单日数据
90012
90182
 
90013
- this.SourceData=sourceData;
90014
- this.Symbol=data.stock[0].symbol;
90015
- this.Name=data.stock[0].name;
90183
+ this.Symbol=stockData.symbol;
90184
+ this.Name=stockData.name;
90016
90185
 
90017
90186
  this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
90018
90187
 
@@ -90027,26 +90196,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90027
90196
  }
90028
90197
  }
90029
90198
 
90030
- var yClose=data.stock[0].yclose;
90199
+ var yClose=stockData.yclose;
90031
90200
  var upperSymbol=this.Symbol.toUpperCase();
90032
90201
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
90033
- if (data.stock[0].yclearing>0 && isFutures) yClose=data.stock[0].yclearing; //期货使用前结算价
90034
- this.CaclutateLimitPrice(yClose, data.stock[0].limitprice); //计算涨停价格
90202
+ if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
90203
+ this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
90035
90204
  var extendData=null;
90036
- if (data.stock[0].high>0 && data.stock[0].low>0) extendData={ High:data.stock[0].high, Low:data.stock[0].low };
90037
- this.BindMainData(sourceData,yClose, extendData);
90205
+ if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
90206
+ this.BindMainData(this.SourceData,yClose, extendData);
90038
90207
 
90039
90208
  if (this.Frame.SubFrame.length>2)
90040
90209
  {
90041
90210
  var bindData=new ChartData();
90042
- bindData.Data=aryMinuteData;
90211
+ bindData.Data=this.SourceData.Data;
90043
90212
  for(var i=2; i<this.Frame.SubFrame.length; ++i)
90044
90213
  {
90045
90214
  this.BindIndexData(i,bindData);
90046
90215
  }
90047
90216
  }
90048
90217
 
90049
- for(let i in this.Frame.SubFrame)
90218
+ for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
90050
90219
  {
90051
90220
  var item=this.Frame.SubFrame[i];
90052
90221
  item.Frame.XSplitOperator.Symbol=this.Symbol;
@@ -90054,7 +90223,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90054
90223
  item.Frame.XSplitOperator.Operator(); //调整X轴个数
90055
90224
  item.Frame.YSplitOperator.Symbol=this.Symbol;
90056
90225
 
90057
- for(var j in item.OverlayIndex) //子坐标X轴个数同步
90226
+ for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
90058
90227
  {
90059
90228
  var overlayItem=item.OverlayIndex[j];
90060
90229
  overlayItem.Frame.XPointCount=item.Frame.XPointCount;
@@ -90067,12 +90236,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90067
90236
 
90068
90237
  if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
90069
90238
 
90070
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
90239
+ if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
90071
90240
 
90072
90241
  var chartInfo=this.GetChartMinuteInfo();
90073
90242
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
90074
90243
 
90075
- this.RecvMinuteDataEvent( {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} } );
90244
+ if (eventData) this.RecvMinuteDataEvent( eventData );
90076
90245
  this.RequestMinuteInfoData();
90077
90246
  this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
90078
90247
  this.CreateChartDrawPictureByStorage(); //创建画图工具
@@ -90082,16 +90251,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90082
90251
  this.Draw();
90083
90252
 
90084
90253
  this.BindAllOverlayIndexData(this.SourceData);
90085
-
90086
- if (data.AutoUpdate===false) //不执行自动更新
90087
- {
90088
-
90089
- }
90090
- else
90091
- {
90092
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
90093
- this.AutoUpdate();
90094
- }
90095
90254
  }
90096
90255
 
90097
90256
  this.CaclutateLimitPrice=function(yClose, limitData)
@@ -112294,8 +112453,24 @@ function JSDraw(errorHandler,symbolData)
112294
112453
  }
112295
112454
 
112296
112455
  //饼图
112297
- this.PIE_CELL=function(value, color, text, textColor, lineColor)
112456
+ this.PIE_CELL=function(data, color, text, textColor, lineColor)
112298
112457
  {
112458
+ var value=null;
112459
+ if (IFrameSplitOperator.IsNumber(data))
112460
+ {
112461
+ value=data;
112462
+ }
112463
+ else if (IFrameSplitOperator.IsString(data))
112464
+ {
112465
+ value=parseFloat(data);
112466
+ }
112467
+ else if (IFrameSplitOperator.IsNonEmptyArray(data))
112468
+ {
112469
+ var lastValue=data[data.length-1];
112470
+ if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
112471
+ else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
112472
+ }
112473
+
112299
112474
  var cellItem={ Value:value, Color:color };
112300
112475
  if (text) cellItem.Text=text;
112301
112476
  if (textColor) cellItem.TextColor=textColor;
@@ -141934,7 +142109,7 @@ function ScrollBarBGChart()
141934
142109
 
141935
142110
 
141936
142111
 
141937
- var HQCHART_VERSION="1.1.14312";
142112
+ var HQCHART_VERSION="1.1.14319";
141938
142113
 
141939
142114
  function PrintHQChartVersion()
141940
142115
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14312";
8
+ var HQCHART_VERSION="1.1.14319";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {