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.
@@ -35898,6 +35898,220 @@ function ChartSimplePie()
35898
35898
  }
35899
35899
  }
35900
35900
 
35901
+
35902
+ //雷达图
35903
+ function ChartSimpleRadar()
35904
+ {
35905
+ this.newMethod=IChartPainting; //派生
35906
+ this.newMethod();
35907
+ delete this.newMethod;
35908
+
35909
+ this.ClassName='ChartSimpleRadar'; //类名
35910
+ this.BorderPoint=[]; //边框点
35911
+ this.DataPoint=[]; //数据点
35912
+ this.CenterPoint={};
35913
+ this.StartAngle=0;
35914
+ this.Color='rgb(198,198,198)';
35915
+ this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
35916
+ this.AreaLineColor='rgb(242,154,118)';
35917
+ this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
35918
+ this.TitleColor='rgb(102,102,102)';
35919
+ this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
35920
+
35921
+ this.DrawBorder=function() //画边框
35922
+ {
35923
+ if (this.BorderPoint.length<=0) return;
35924
+
35925
+ this.Canvas.font=this.TitleFont;
35926
+ this.Canvas.strokeStyle = this.Color;
35927
+ const aryBorder=[1,0.8,0.6,0.4,0.2];
35928
+ for (let j in aryBorder)
35929
+ {
35930
+ var rate = aryBorder[j];
35931
+ var isFirstDraw=true;
35932
+ for(let i in this.BorderPoint)
35933
+ {
35934
+ var item=this.BorderPoint[i];
35935
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
35936
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
35937
+ if (isFirstDraw)
35938
+ {
35939
+ this.Canvas.beginPath();
35940
+ this.Canvas.moveTo(item.X,item.Y);
35941
+ isFirstDraw=false;
35942
+ }
35943
+ else
35944
+ {
35945
+ this.Canvas.lineTo(item.X,item.Y);
35946
+ }
35947
+ }
35948
+
35949
+ this.Canvas.closePath();
35950
+ this.Canvas.stroke();
35951
+ this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
35952
+ this.Canvas.fill();
35953
+ }
35954
+
35955
+ this.Canvas.beginPath();
35956
+ for(let i in this.BorderPoint)
35957
+ {
35958
+ var item=this.BorderPoint[i];
35959
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
35960
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
35961
+ this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
35962
+ this.Canvas.lineTo(item.X,item.Y);
35963
+ this.DrawText(item);
35964
+ }
35965
+ this.Canvas.stroke();
35966
+ }
35967
+
35968
+ this.DrawArea=function()
35969
+ {
35970
+ if (!this.DataPoint || this.DataPoint.length<=0) return;
35971
+
35972
+ this.Canvas.fillStyle = this.AreaColor;
35973
+ this.Canvas.strokeStyle = this.AreaLineColor;
35974
+ this.Canvas.beginPath();
35975
+ var isFirstDraw=true;
35976
+ for(let i in this.DataPoint)
35977
+ {
35978
+ var item=this.DataPoint[i];
35979
+ if (isFirstDraw)
35980
+ {
35981
+ this.Canvas.beginPath();
35982
+ this.Canvas.moveTo(item.X,item.Y);
35983
+ isFirstDraw=false;
35984
+ }
35985
+ else
35986
+ {
35987
+ this.Canvas.lineTo(item.X,item.Y);
35988
+ }
35989
+ }
35990
+
35991
+ this.Canvas.closePath();
35992
+ this.Canvas.fill();
35993
+ this.Canvas.stroke();
35994
+ }
35995
+
35996
+ this.DrawText=function(item)
35997
+ {
35998
+ if (!item.Text) return;
35999
+
36000
+ //JSConsole.Chart.Log(item.Text, item.Angle);
36001
+ this.Canvas.fillStyle = this.TitleColor;
36002
+ var xText = item.X, yText = item.Y;
36003
+
36004
+ //显示每个角度的位置
36005
+ if (item.Angle > 0 && item.Angle < 45) {
36006
+ this.Canvas.textAlign = 'left';
36007
+ this.Canvas.textBaseline = 'middle';
36008
+ xText += 2;
36009
+ }
36010
+ else if (item.Angle >= 0 && item.Angle < 90) {
36011
+ this.Canvas.textAlign = 'left';
36012
+ this.Canvas.textBaseline = 'top';
36013
+ xText += 2;
36014
+ }
36015
+ else if (item.Angle >= 90 && item.Angle < 135) {
36016
+ this.Canvas.textAlign = 'right';
36017
+ this.Canvas.textBaseline = 'top';
36018
+ xText -= 2;
36019
+ }
36020
+ else if (item.Angle >= 135 && item.Angle < 180) {
36021
+ this.Canvas.textAlign = 'right';
36022
+ this.Canvas.textBaseline = 'top';
36023
+ xText -= 2;
36024
+ }
36025
+ else if (item.Angle >= 180 && item.Angle < 225) {
36026
+ this.Canvas.textAlign = 'right';
36027
+ this.Canvas.textBaseline = 'middle';
36028
+ xText -= 2;
36029
+ }
36030
+ else if (item.Angle >= 225 && item.Angle <= 270) {
36031
+ this.Canvas.textAlign = 'center';
36032
+ this.Canvas.textBaseline = 'bottom';
36033
+ }
36034
+ else if (item.Angle > 270 && item.Angle < 315) {
36035
+ this.Canvas.textAlign = 'left';
36036
+ this.Canvas.textBaseline = 'bottom';
36037
+ xText += 2;
36038
+ }
36039
+ else {
36040
+ this.Canvas.textAlign = 'left';
36041
+ this.Canvas.textBaseline = 'middle';
36042
+ xText += 2;
36043
+ }
36044
+
36045
+ this.Canvas.fillText(item.Text, xText, yText);
36046
+ }
36047
+
36048
+ this.Draw=function()
36049
+ {
36050
+ this.BorderPoint=[];
36051
+ this.DataPoint=[];
36052
+ this.CenterPoint={};
36053
+ if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
36054
+ this.CalculatePoints(null);
36055
+ else
36056
+ this.CalculatePoints(this.Data.Data);
36057
+
36058
+ this.DrawBorder();
36059
+ this.DrawArea();
36060
+ }
36061
+
36062
+ this.CalculatePoints=function(data)
36063
+ {
36064
+ let left=this.ChartBorder.GetLeft();
36065
+ let right=this.ChartBorder.GetRight();
36066
+ let top=this.ChartBorder.GetTop();
36067
+ let bottom=this.ChartBorder.GetBottom();
36068
+ let width=this.ChartBorder.GetWidth();
36069
+ let height=this.ChartBorder.GetHeight();
36070
+
36071
+ let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
36072
+ let radius=Math.min(width/2,height/2)-2 //半径
36073
+ let count=Math.max(5,data?data.length:0);
36074
+ let averageAngle=360/count;
36075
+ for(let i=0;i<count;++i)
36076
+ {
36077
+ let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
36078
+ let angle = ptBorder.Angle;
36079
+
36080
+ if (data && i<data.length)
36081
+ {
36082
+ var item=data[i];
36083
+ let ptData={Index:i,Text:item.Text};
36084
+ ptBorder.Text=item.Name;
36085
+ if (!item.Value)
36086
+ {
36087
+ ptData.X=ptCenter.X;
36088
+ ptData.Y=ptCenter.Y;
36089
+ }
36090
+ else
36091
+ {
36092
+ var value=item.Value;
36093
+ if (value>=1) value=1;
36094
+ var dataRadius=radius*value;
36095
+ ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
36096
+ ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
36097
+ }
36098
+
36099
+ this.DataPoint.push(ptData);
36100
+ }
36101
+
36102
+ this.BorderPoint.push(ptBorder);
36103
+ }
36104
+
36105
+ this.CenterPoint=ptCenter;
36106
+ }
36107
+
36108
+ //空数据
36109
+ this.DrawEmptyData=function()
36110
+ {
36111
+ JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
36112
+ }
36113
+ }
36114
+
35901
36115
  //分钟成交量 支持横屏
35902
36116
  function ChartMinuteVolumBar()
35903
36117
  {
@@ -56525,6 +56739,7 @@ function ChartCorssCursor()
56525
56739
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
56526
56740
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
56527
56741
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
56742
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
56528
56743
  this.TextHeight=20; //文本字体高度
56529
56744
  this.LastPoint;
56530
56745
  this.LastValue; //{ Y:{ Value:, Extend: } }
@@ -56580,6 +56795,7 @@ function ChartCorssCursor()
56580
56795
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
56581
56796
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
56582
56797
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
56798
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
56583
56799
  }
56584
56800
 
56585
56801
  this.GetCloseYPoint=function(index)
@@ -56838,10 +57054,10 @@ function ChartCorssCursor()
56838
57054
  }
56839
57055
 
56840
57056
  var pixel=GetDevicePixelRatio();
56841
- if (this.HPenType==1 || this.HPenType==0) //0=实线 1=虚线
57057
+ if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
56842
57058
  {
56843
57059
  this.Canvas.strokeStyle=this.HPenColor;
56844
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57060
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
56845
57061
  //this.Canvas.lineWidth=0.5
56846
57062
  this.Canvas.beginPath();
56847
57063
  this.Canvas.moveTo(left,ToFixedPoint(y));
@@ -56854,7 +57070,7 @@ function ChartCorssCursor()
56854
57070
  this.Canvas.strokeStyle=this.VPenColor;
56855
57071
  if (this.VPenType==0)
56856
57072
  {
56857
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57073
+ this.Canvas.setLineDash(this.LineDash); //虚线
56858
57074
  }
56859
57075
  else if (this.VPenType==2)
56860
57076
  {
@@ -57449,7 +57665,7 @@ function ChartCorssCursor()
57449
57665
  var pixel=GetDevicePixelRatio();
57450
57666
  this.Canvas.save();
57451
57667
  this.Canvas.strokeStyle=this.HPenColor;
57452
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57668
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
57453
57669
 
57454
57670
  //画竖线
57455
57671
  this.Canvas.beginPath();
@@ -57463,7 +57679,7 @@ function ChartCorssCursor()
57463
57679
  this.Canvas.strokeStyle=this.VPenColor;
57464
57680
  if (this.VPenType==0)
57465
57681
  {
57466
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
57682
+ this.Canvas.setLineDash(this.LineDash); //虚线
57467
57683
  }
57468
57684
  else if (this.VPenType==2)
57469
57685
  {
@@ -60739,7 +60955,12 @@ function DynamicChartTitlePainting()
60739
60955
  {
60740
60956
  this.Font=g_JSChartResource.TitleFont;
60741
60957
  this.TitleColor=g_JSChartResource.DefaultTextColor;
60958
+ this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
60742
60959
  this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
60960
+
60961
+ this.BGColor=g_JSChartResource.IndexTitleBGColor;
60962
+ this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
60963
+ this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
60743
60964
  }
60744
60965
 
60745
60966
  this.SetDynamicTitleData=function(outName, args, data)
@@ -74413,6 +74634,7 @@ function JSChartResource()
74413
74634
  this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
74414
74635
  this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
74415
74636
  this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
74637
+ this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
74416
74638
 
74417
74639
  this.CorssCursor=
74418
74640
  {
@@ -75833,6 +76055,7 @@ function JSChartResource()
75833
76055
  if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
75834
76056
  if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
75835
76057
  if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
76058
+ if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
75836
76059
  if (style.CorssCursor && style.CorssCursor.RightButton)
75837
76060
  {
75838
76061
  var item=style.CorssCursor.RightButton;
@@ -89872,12 +90095,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89872
90095
  this.CaclutateCallCationYRange();
89873
90096
  }
89874
90097
 
90098
+ //增量更新
89875
90099
  this.RecvUpdateMinuteData=function(data)
89876
90100
  {
89877
90101
  var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
89878
90102
  var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
89879
- this.BeforeOpenData=null;
89880
- this.AfterCloseData=null;
90103
+
89881
90104
  var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
89882
90105
  var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
89883
90106
  var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
@@ -89896,92 +90119,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89896
90119
  return;
89897
90120
  }
89898
90121
 
89899
- //原始数据
90122
+ if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
90123
+ if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
89900
90124
 
90125
+ //原始数据
89901
90126
  this.UpdateLatestMinuteDataV2(minuteData);
89902
- var sourceData=this.SourceData;
89903
- var aryMinuteData=this.SourceData.Data;
89904
- this.ColorLineData=aryColorData;
89905
- this.TradeDate=data.stock[0].date;
89906
- this.Frame.SetDayCount(1); //单日数据
89907
- this.SourceData.UpdateTime=updateTime;
89908
- this.Symbol=minuteData.Symbol;
89909
- this.Name=minuteData.Name;
89910
-
89911
- this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
90127
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
89912
90128
 
89913
- if (this.ShareAfterVol==2) //盘前, 盘后成交量公用坐标
90129
+ if (data.AutoUpdate===false) //不执行自动更新
89914
90130
  {
89915
- if (this.BeforeOpenData && this.AfterCloseData)
89916
- {
89917
- var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
89918
- var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
89919
- this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
89920
- this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
89921
- }
89922
- }
89923
90131
 
89924
- var yClose=minuteData.YClose;
89925
- var upperSymbol=this.Symbol.toUpperCase();
89926
- var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
89927
- if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
89928
- this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
89929
- var extendData=null;
89930
- if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
89931
- this.BindMainData(sourceData,yClose, extendData);
89932
-
89933
- if (this.Frame.SubFrame.length>2)
89934
- {
89935
- var bindData=new ChartData();
89936
- bindData.Data=aryMinuteData;
89937
- for(var i=2; i<this.Frame.SubFrame.length; ++i)
89938
- {
89939
- this.BindIndexData(i,bindData);
89940
- }
89941
- }
89942
-
89943
- for(let i=0; i<this.Frame.SubFrame.length; ++i)
90132
+ }
90133
+ else
89944
90134
  {
89945
- var item=this.Frame.SubFrame[i];
89946
- item.Frame.XSplitOperator.Symbol=this.Symbol;
89947
- item.Frame.XSplitOperator.DayCount=1;
89948
- item.Frame.XSplitOperator.Operator(); //调整X轴个数
89949
- item.Frame.YSplitOperator.Symbol=this.Symbol;
89950
-
89951
- if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
89952
- {
89953
- for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
89954
- {
89955
- var overlayItem=item.OverlayIndex[j];
89956
- overlayItem.Frame.XPointCount=item.Frame.XPointCount;
89957
- overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
89958
- }
89959
- }
90135
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
90136
+ this.AutoUpdate();
89960
90137
  }
89961
-
89962
- this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
89963
- this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
89964
-
89965
- if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
89966
-
89967
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
89968
-
89969
- var chartInfo=this.GetChartMinuteInfo();
89970
- if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
89971
-
89972
- this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
89973
- this.RequestMinuteInfoData();
89974
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
89975
- this.CreateChartDrawPictureByStorage(); //创建画图工具
89976
-
89977
- this.UpdateFrameMaxMin(); //调整坐标最大 最小值
89978
- this.Frame.SetSizeChage(true);
89979
- this.Draw();
89980
-
89981
- this.BindAllOverlayIndexData(this.SourceData);
89982
-
89983
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
89984
- this.AutoUpdate();
89985
90138
  }
89986
90139
 
89987
90140
  this.RecvMinuteData=function(data)
@@ -90048,15 +90201,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90048
90201
  var sourceData=new ChartData();
90049
90202
  sourceData.Data=aryMinuteData;
90050
90203
  sourceData.UpdateTime=updateTime;
90204
+ this.SourceData=sourceData;
90051
90205
 
90052
90206
  this.ColorLineData=aryColorData;
90053
90207
 
90054
- this.TradeDate=data.stock[0].date;
90208
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
90209
+
90210
+ if (data.AutoUpdate===false) //不执行自动更新
90211
+ {
90212
+
90213
+ }
90214
+ else
90215
+ {
90216
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
90217
+ this.AutoUpdate();
90218
+ }
90219
+ }
90220
+
90221
+ //更新单日分时图
90222
+ this.UpdateMinuteUI=function(stockData, eventData)
90223
+ {
90224
+ this.TradeDate=stockData.date;
90055
90225
  this.Frame.SetDayCount(1); //单日数据
90056
90226
 
90057
- this.SourceData=sourceData;
90058
- this.Symbol=data.stock[0].symbol;
90059
- this.Name=data.stock[0].name;
90227
+ this.Symbol=stockData.symbol;
90228
+ this.Name=stockData.name;
90060
90229
 
90061
90230
  this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
90062
90231
 
@@ -90071,26 +90240,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90071
90240
  }
90072
90241
  }
90073
90242
 
90074
- var yClose=data.stock[0].yclose;
90243
+ var yClose=stockData.yclose;
90075
90244
  var upperSymbol=this.Symbol.toUpperCase();
90076
90245
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
90077
- if (data.stock[0].yclearing>0 && isFutures) yClose=data.stock[0].yclearing; //期货使用前结算价
90078
- this.CaclutateLimitPrice(yClose, data.stock[0].limitprice); //计算涨停价格
90246
+ if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
90247
+ this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
90079
90248
  var extendData=null;
90080
- if (data.stock[0].high>0 && data.stock[0].low>0) extendData={ High:data.stock[0].high, Low:data.stock[0].low };
90081
- this.BindMainData(sourceData,yClose, extendData);
90249
+ if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
90250
+ this.BindMainData(this.SourceData,yClose, extendData);
90082
90251
 
90083
90252
  if (this.Frame.SubFrame.length>2)
90084
90253
  {
90085
90254
  var bindData=new ChartData();
90086
- bindData.Data=aryMinuteData;
90255
+ bindData.Data=this.SourceData.Data;
90087
90256
  for(var i=2; i<this.Frame.SubFrame.length; ++i)
90088
90257
  {
90089
90258
  this.BindIndexData(i,bindData);
90090
90259
  }
90091
90260
  }
90092
90261
 
90093
- for(let i in this.Frame.SubFrame)
90262
+ for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
90094
90263
  {
90095
90264
  var item=this.Frame.SubFrame[i];
90096
90265
  item.Frame.XSplitOperator.Symbol=this.Symbol;
@@ -90098,7 +90267,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90098
90267
  item.Frame.XSplitOperator.Operator(); //调整X轴个数
90099
90268
  item.Frame.YSplitOperator.Symbol=this.Symbol;
90100
90269
 
90101
- for(var j in item.OverlayIndex) //子坐标X轴个数同步
90270
+ for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
90102
90271
  {
90103
90272
  var overlayItem=item.OverlayIndex[j];
90104
90273
  overlayItem.Frame.XPointCount=item.Frame.XPointCount;
@@ -90111,12 +90280,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90111
90280
 
90112
90281
  if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
90113
90282
 
90114
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
90283
+ if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
90115
90284
 
90116
90285
  var chartInfo=this.GetChartMinuteInfo();
90117
90286
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
90118
90287
 
90119
- this.RecvMinuteDataEvent( {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} } );
90288
+ if (eventData) this.RecvMinuteDataEvent( eventData );
90120
90289
  this.RequestMinuteInfoData();
90121
90290
  this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
90122
90291
  this.CreateChartDrawPictureByStorage(); //创建画图工具
@@ -90126,16 +90295,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
90126
90295
  this.Draw();
90127
90296
 
90128
90297
  this.BindAllOverlayIndexData(this.SourceData);
90129
-
90130
- if (data.AutoUpdate===false) //不执行自动更新
90131
- {
90132
-
90133
- }
90134
- else
90135
- {
90136
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
90137
- this.AutoUpdate();
90138
- }
90139
90298
  }
90140
90299
 
90141
90300
  this.CaclutateLimitPrice=function(yClose, limitData)
@@ -112338,8 +112497,24 @@ function JSDraw(errorHandler,symbolData)
112338
112497
  }
112339
112498
 
112340
112499
  //饼图
112341
- this.PIE_CELL=function(value, color, text, textColor, lineColor)
112500
+ this.PIE_CELL=function(data, color, text, textColor, lineColor)
112342
112501
  {
112502
+ var value=null;
112503
+ if (IFrameSplitOperator.IsNumber(data))
112504
+ {
112505
+ value=data;
112506
+ }
112507
+ else if (IFrameSplitOperator.IsString(data))
112508
+ {
112509
+ value=parseFloat(data);
112510
+ }
112511
+ else if (IFrameSplitOperator.IsNonEmptyArray(data))
112512
+ {
112513
+ var lastValue=data[data.length-1];
112514
+ if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
112515
+ else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
112516
+ }
112517
+
112343
112518
  var cellItem={ Value:value, Color:color };
112344
112519
  if (text) cellItem.Text=text;
112345
112520
  if (textColor) cellItem.TextColor=textColor;
@@ -151582,7 +151757,7 @@ function HQChartScriptWorker()
151582
151757
 
151583
151758
 
151584
151759
 
151585
- var HQCHART_VERSION="1.1.14312";
151760
+ var HQCHART_VERSION="1.1.14319";
151586
151761
 
151587
151762
  function PrintHQChartVersion()
151588
151763
  {