hqchart 1.1.14320 → 1.1.14330

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.
@@ -31938,199 +31938,292 @@ function ChartSimpleRadar()
31938
31938
  delete this.newMethod;
31939
31939
 
31940
31940
  this.ClassName='ChartSimpleRadar'; //类名
31941
- this.BorderPoint=[]; //边框点
31942
- this.DataPoint=[]; //数据点
31943
- this.CenterPoint={};
31944
- this.StartAngle=0;
31945
- this.Color='rgb(198,198,198)';
31946
- this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
31941
+
31942
+ this.AreaColor='rgba(242,154,118,0.4)'; //
31947
31943
  this.AreaLineColor='rgb(242,154,118)';
31948
- this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
31949
- this.TitleColor='rgb(102,102,102)';
31950
- this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
31944
+
31945
+ this.TitleColor=g_JSChartResource.ChartSimpleRadar.TextColor;
31946
+ this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleRadar.TextFont);
31947
+ this.Offset=CloneData(g_JSChartResource.ChartSimpleRadar.Offset);
31948
+ this.BorderColor=g_JSChartResource.ChartSimpleRadar.BorderColor;
31949
+ this.AryBGColor=g_JSChartResource.ChartSimpleRadar.AryBGColor.slice();//背景色
31950
+ this.AryAreaConfig=g_JSChartResource.ChartSimpleRadar.AryArea.slice(); //面积图颜色
31951
+
31952
+ this.StartAngle=270;
31953
+ this.Radius=50;
31954
+ this.AryBorder=[1, 0.75, 0.5, 0.25];
31955
+ this.AryIndex; //指标{ Name:, Max:100, Min:0 },
31951
31956
 
31952
- this.DrawBorder=function() //画边框
31957
+ this.CenterPoint={};
31958
+ this.RectClient={ };
31959
+ this.AryIndexCache=[];
31960
+ this.MapDataCache=new Map(); //key=name value={ Data:[] }
31961
+ this.TextFont;
31962
+
31963
+
31964
+ this.ReloadResource=function(resource)
31953
31965
  {
31954
- if (this.BorderPoint.length<=0) return;
31966
+ this.TitleColor=g_JSChartResource.ChartSimpleRadar.TextColor;
31967
+ this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleRadar.TextFont);
31968
+ this.Offset=CloneData(g_JSChartResource.ChartSimpleRadar.Offset);
31969
+ this.BorderColor=g_JSChartResource.ChartSimpleRadar.BorderColor;
31970
+ this.AryBGColor=g_JSChartResource.ChartSimpleRadar.AryBGColor.slice();//背景色
31971
+ this.AryAreaConfig=g_JSChartResource.ChartSimpleRadar.AryArea.slice(); //面积图颜色
31972
+ }
31955
31973
 
31956
- this.Canvas.font=this.TitleFont;
31957
- this.Canvas.strokeStyle = this.Color;
31958
- const aryBorder=[1,0.8,0.6,0.4,0.2];
31959
- for (let j in aryBorder)
31974
+ this.DrawBorder=function() //画边框
31975
+ {
31976
+ this.Canvas.strokeStyle = this.BorderColor;
31977
+ this.Canvas.font=this.TextFont;
31978
+ for(var i=0;i<this.AryBorder.length;++i)
31960
31979
  {
31961
- var rate = aryBorder[j];
31962
- var isFirstDraw=true;
31963
- for(let i in this.BorderPoint)
31980
+ var rate = this.AryBorder[i];
31981
+ var radius=this.RectClient.Radius*rate;
31982
+ var bFirstDraw=true;
31983
+ for(var j=0;j<this.AryIndexCache.length;++j)
31964
31984
  {
31965
- var item=this.BorderPoint[i];
31966
- item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
31967
- item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
31968
- if (isFirstDraw)
31985
+ var item=this.AryIndexCache[j];
31986
+ var x = this.CenterPoint.X + radius * Math.cos(item.Angle * Math.PI / 180);
31987
+ var y = this.CenterPoint.Y + radius * Math.sin(item.Angle * Math.PI / 180);
31988
+ if (bFirstDraw)
31969
31989
  {
31970
31990
  this.Canvas.beginPath();
31971
- this.Canvas.moveTo(item.X,item.Y);
31972
- isFirstDraw=false;
31991
+ this.Canvas.moveTo(x,y);
31992
+ bFirstDraw=false;
31973
31993
  }
31974
31994
  else
31975
31995
  {
31976
- this.Canvas.lineTo(item.X,item.Y);
31996
+ this.Canvas.lineTo(x,y);
31977
31997
  }
31978
31998
  }
31979
31999
 
31980
32000
  this.Canvas.closePath();
31981
32001
  this.Canvas.stroke();
31982
- this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
31983
- this.Canvas.fill();
32002
+
32003
+ if (IFrameSplitOperator.IsNonEmptyArray(this.AryBGColor))
32004
+ {
32005
+ this.Canvas.fillStyle = this.AryBGColor[i%this.AryBGColor.length];
32006
+ this.Canvas.fill();
32007
+ }
31984
32008
  }
31985
32009
 
31986
32010
  this.Canvas.beginPath();
31987
- for(let i in this.BorderPoint)
32011
+ for(var i=0;i<this.AryIndexCache.length;++i)
31988
32012
  {
31989
- var item=this.BorderPoint[i];
31990
- item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
31991
- item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
32013
+ var item=this.AryIndexCache[i];
32014
+ var x = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
32015
+ var y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
31992
32016
  this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
31993
- this.Canvas.lineTo(item.X,item.Y);
31994
- this.DrawText(item);
32017
+ this.Canvas.lineTo(x,y);
32018
+ this.DrawText(item, x, y);
31995
32019
  }
31996
32020
  this.Canvas.stroke();
32021
+
32022
+ }
32023
+
32024
+ this.GetRadarRate=function(indexItem, value)
32025
+ {
32026
+ var range={ Max:100, Min:0 };
32027
+ if (IFrameSplitOperator.IsNumber(indexItem.Max)) range.Max=indexItem.Max;
32028
+ if (IFrameSplitOperator.IsNumber(indexItem.Min)) range.Min=indexItem.Min;
32029
+
32030
+ if (value>range.Max) value=range.Max;
32031
+ else if (value<range.Min) value=range.Min;
32032
+
32033
+ return (value-range.Min)/(range.Max-range.Min);
31997
32034
  }
31998
32035
 
31999
32036
  this.DrawArea=function()
32000
32037
  {
32001
- if (!this.DataPoint || this.DataPoint.length<=0) return;
32038
+ if (this.MapDataCache.size<=0) return;
32002
32039
 
32003
- this.Canvas.fillStyle = this.AreaColor;
32004
- this.Canvas.strokeStyle = this.AreaLineColor;
32005
- this.Canvas.beginPath();
32006
- var isFirstDraw=true;
32007
- for(let i in this.DataPoint)
32040
+ var index=0;
32041
+ for(var mapItem of this.MapDataCache)
32008
32042
  {
32009
- var item=this.DataPoint[i];
32010
- if (isFirstDraw)
32043
+ var mapData=mapItem[1].MapData;
32044
+
32045
+ var bFirstDraw=true;
32046
+ var pointCount=0;
32047
+ for(var i=0;i<this.AryIndexCache.length;++i)
32011
32048
  {
32012
- this.Canvas.beginPath();
32013
- this.Canvas.moveTo(item.X,item.Y);
32014
- isFirstDraw=false;
32049
+ var indexItem=this.AryIndexCache[i];
32050
+ if (!indexItem.Data || !indexItem.Data.Name) continue;
32051
+ if (!mapData.has(indexItem.Data.Name)) continue;
32052
+ var item=mapData.get(indexItem.Data.Name);
32053
+ if (!item.Data && !IFrameSplitOperator.IsNumber(item.Data.Value)) conintue;
32054
+
32055
+ var widthRate=this.GetRadarRate(indexItem, item.Data.Value);
32056
+ var x = this.CenterPoint.X+indexItem.Radius*widthRate*Math.cos(indexItem.Angle * Math.PI / 180);
32057
+ var y = this.CenterPoint.Y+indexItem.Radius*widthRate*Math.sin(indexItem.Angle * Math.PI / 180);
32058
+
32059
+ if (bFirstDraw)
32060
+ {
32061
+ this.Canvas.beginPath();
32062
+ this.Canvas.moveTo(x,y);
32063
+ bFirstDraw=false;
32064
+ ++pointCount;
32065
+ }
32066
+ else
32067
+ {
32068
+ this.Canvas.lineTo(x,y);
32069
+ ++pointCount;
32070
+ }
32015
32071
  }
32016
- else
32072
+
32073
+ if (pointCount>0)
32017
32074
  {
32018
- this.Canvas.lineTo(item.X,item.Y);
32075
+ this.Canvas.closePath();
32076
+
32077
+ var config=this.AryAreaConfig[index%this.AryAreaConfig.length];
32078
+ if (config.Color)
32079
+ {
32080
+ this.Canvas.fillStyle = config.Color;
32081
+ this.Canvas.fill();
32082
+ }
32083
+
32084
+ if (config.LineColor)
32085
+ {
32086
+ this.Canvas.strokeStyle = config.LineColor;
32087
+ this.Canvas.stroke();
32088
+ }
32019
32089
  }
32020
- }
32021
32090
 
32022
- this.Canvas.closePath();
32023
- this.Canvas.fill();
32024
- this.Canvas.stroke();
32091
+ ++index;
32092
+ }
32025
32093
  }
32026
32094
 
32027
- this.DrawText=function(item)
32095
+ this.DrawText=function(item, x, y)
32028
32096
  {
32029
- if (!item.Text) return;
32097
+ if (!item.Data || !item.Data.Name) return;
32030
32098
 
32031
32099
  //JSConsole.Chart.Log(item.Text, item.Angle);
32032
32100
  this.Canvas.fillStyle = this.TitleColor;
32033
- var xText = item.X, yText = item.Y;
32101
+ var xText = x, yText =y;
32102
+
32103
+ var angle=item.Angle%360;
32034
32104
 
32035
32105
  //显示每个角度的位置
32036
- if (item.Angle > 0 && item.Angle < 45) {
32106
+ if (angle > 0 && angle < 45) {
32037
32107
  this.Canvas.textAlign = 'left';
32038
32108
  this.Canvas.textBaseline = 'middle';
32039
32109
  xText += 2;
32040
32110
  }
32041
- else if (item.Angle >= 0 && item.Angle < 90) {
32111
+ else if (angle >= 45 && angle < 90) {
32042
32112
  this.Canvas.textAlign = 'left';
32043
32113
  this.Canvas.textBaseline = 'top';
32044
32114
  xText += 2;
32045
32115
  }
32046
- else if (item.Angle >= 90 && item.Angle < 135) {
32116
+ else if (angle==90)
32117
+ {
32118
+ this.Canvas.textAlign = 'center';
32119
+ this.Canvas.textBaseline = 'top';
32120
+ yText+=2;
32121
+ }
32122
+ else if (angle >= 90 && angle < 135) {
32047
32123
  this.Canvas.textAlign = 'right';
32048
32124
  this.Canvas.textBaseline = 'top';
32049
32125
  xText -= 2;
32050
32126
  }
32051
- else if (item.Angle >= 135 && item.Angle < 180) {
32127
+ else if (angle >= 135 && angle < 180) {
32052
32128
  this.Canvas.textAlign = 'right';
32053
32129
  this.Canvas.textBaseline = 'top';
32054
32130
  xText -= 2;
32055
32131
  }
32056
- else if (item.Angle >= 180 && item.Angle < 225) {
32132
+ else if (angle >= 180 && angle < 225) {
32057
32133
  this.Canvas.textAlign = 'right';
32058
32134
  this.Canvas.textBaseline = 'middle';
32059
32135
  xText -= 2;
32060
32136
  }
32061
- else if (item.Angle >= 225 && item.Angle <= 270) {
32137
+ else if (angle >= 225 && angle <= 270) {
32062
32138
  this.Canvas.textAlign = 'center';
32063
32139
  this.Canvas.textBaseline = 'bottom';
32064
32140
  }
32065
- else if (item.Angle > 270 && item.Angle < 315) {
32141
+ else if (angle > 270 && angle < 315) {
32066
32142
  this.Canvas.textAlign = 'left';
32067
32143
  this.Canvas.textBaseline = 'bottom';
32068
32144
  xText += 2;
32069
32145
  }
32070
- else {
32146
+ else
32147
+ {
32071
32148
  this.Canvas.textAlign = 'left';
32072
32149
  this.Canvas.textBaseline = 'middle';
32073
32150
  xText += 2;
32074
32151
  }
32075
32152
 
32076
- this.Canvas.fillText(item.Text, xText, yText);
32153
+ this.Canvas.fillText(item.Data.Name, xText, yText);
32077
32154
  }
32078
32155
 
32079
32156
  this.Draw=function()
32080
32157
  {
32081
- this.BorderPoint=[];
32082
- this.DataPoint=[];
32083
- this.CenterPoint={};
32084
- if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
32085
- this.CalculatePoints(null);
32086
- else
32087
- this.CalculatePoints(this.Data.Data);
32158
+ this.AryIndexCache=[];
32159
+ this.MapData=new Map();
32160
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.AryIndex)) return;
32161
+
32162
+ this.CalculateSize();
32088
32163
 
32089
32164
  this.DrawBorder();
32165
+
32090
32166
  this.DrawArea();
32091
32167
  }
32092
32168
 
32093
- this.CalculatePoints=function(data)
32169
+ this.BuildCacheData=function()
32094
32170
  {
32095
- let left=this.ChartBorder.GetLeft();
32096
- let right=this.ChartBorder.GetRight();
32097
- let top=this.ChartBorder.GetTop();
32098
- let bottom=this.ChartBorder.GetBottom();
32099
- let width=this.ChartBorder.GetWidth();
32100
- let height=this.ChartBorder.GetHeight();
32171
+ this.MapDataCache=new Map();
32101
32172
 
32102
- let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
32103
- let radius=Math.min(width/2,height/2)-2 //半径
32104
- let count=Math.max(5,data?data.length:0);
32105
- let averageAngle=360/count;
32106
- for(let i=0;i<count;++i)
32173
+ for(var i=0;i<this.Data.Data.length;++i)
32107
32174
  {
32108
- let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
32109
- let angle = ptBorder.Angle;
32175
+ var item=this.Data.Data[i];
32176
+ if (!this.MapDataCache.has(item.Group))
32177
+ {
32178
+ this.MapDataCache.set(item.Group, { MapData:new Map() })
32179
+ }
32180
+
32181
+ var mpaItem=this.MapDataCache.get(item.Group);
32182
+ mpaItem.MapData.set(item.Name, { Data:item });
32183
+ }
32184
+ }
32110
32185
 
32111
- if (data && i<data.length)
32186
+ this.CalculateSize=function(data)
32187
+ {
32188
+ var border=this.ChartBorder.GetBorder();
32189
+ var pixelRatio=GetDevicePixelRatio();
32190
+ this.TextFont=`${this.TextFontConfig.Size*pixelRatio}px ${ this.TextFontConfig.Name}`;
32191
+ var fontHeight=this.GetFontHeight(this.TextFont,"擎")+1;
32192
+
32193
+ var maxTextWidth=0;
32194
+ if (IFrameSplitOperator.IsNonEmptyArray(this.AryIndex))
32195
+ {
32196
+ for(var i=0;i<this.AryIndex.length;++i)
32112
32197
  {
32113
- var item=data[i];
32114
- let ptData={Index:i,Text:item.Text};
32115
- ptBorder.Text=item.Name;
32116
- if (!item.Value)
32117
- {
32118
- ptData.X=ptCenter.X;
32119
- ptData.Y=ptCenter.Y;
32120
- }
32121
- else
32122
- {
32123
- var value=item.Value;
32124
- if (value>=1) value=1;
32125
- var dataRadius=radius*value;
32126
- ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
32127
- ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
32128
- }
32198
+ var item=this.AryIndex[i];
32199
+ if (!item.Name) continue;
32200
+ var textWidth=this.Canvas.measureText(item.Name).width;
32201
+ if (maxTextWidth<textWidth) maxTextWidth=textWidth;
32202
+ }
32203
+ }
32204
+
32205
+ var radius=this.Radius*2*pixelRatio; //半径
32206
+ this.RectClient={ Width:radius*2, Height:radius*2, Radius:radius };
32207
+ this.RectClient.Right=border.Right+this.Offset.X-maxTextWidth;
32208
+ this.RectClient.Top=border.TopEx+this.Offset.Y+fontHeight;
32209
+ this.RectClient.Left=this.RectClient.Right-this.RectClient.Width;
32210
+ this.RectClient.Bottom=this.RectClient.Top+this.RectClient.Height;
32129
32211
 
32130
- this.DataPoint.push(ptData);
32212
+ var ptCenter={X:this.RectClient.Left+this.RectClient.Width/2, Y:this.RectClient.Top+this.RectClient.Height/2}; //中心点
32213
+
32214
+ var count=Math.max(5,this.AryIndex.length);
32215
+ var averageAngle=360/count;
32216
+ for(var i=0;i<count;++i)
32217
+ {
32218
+ var angle=i*averageAngle+this.StartAngle;
32219
+
32220
+ var indexItem={ Data:null, Index:i, Angle:angle, Radius:radius };
32221
+ if (this.AryIndex && this.AryIndex[i])
32222
+ {
32223
+ indexItem.Data=this.AryIndex[i];
32131
32224
  }
32132
32225
 
32133
- this.BorderPoint.push(ptBorder);
32226
+ this.AryIndexCache.push(indexItem);
32134
32227
  }
32135
32228
 
32136
32229
  this.CenterPoint=ptCenter;
@@ -32139,7 +32232,7 @@ function ChartSimpleRadar()
32139
32232
  //空数据
32140
32233
  this.DrawEmptyData=function()
32141
32234
  {
32142
- JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
32235
+ JSConsole.Chart.Log('[ChartSimpleRadar::DrawEmptyData]')
32143
32236
  }
32144
32237
  }
32145
32238
 
@@ -71036,6 +71129,20 @@ function JSChartResource()
71036
71129
  Offset:{ X:-5, Y:5 }
71037
71130
  }
71038
71131
 
71132
+ this.ChartSimpleRadar=
71133
+ {
71134
+ TextFont:{ Family:'微软雅黑' , Size:12 },
71135
+ BorderColor:"rgb(169,169,169)",
71136
+ Offset:{ X:-5, Y:5 },
71137
+ TextColor:"rgb(105,105,105)",
71138
+ AryBGColor:['rgba(255,255,255,0.9)', 'rgba(230, 234, 242,0.9)'],
71139
+ AryArea:
71140
+ [
71141
+ { Color:"rgba(242,154,118,0.4)", LineColor:"rgb(242,154,118)"},
71142
+ { Color:"rgba(121,197,228,0.4)", LineColor:"rgb(92,165,196)"},
71143
+ ],
71144
+ }
71145
+
71039
71146
  //手机端tooltip
71040
71147
  this.TooltipPaint = {
71041
71148
  BGColor:'rgba(250,250,250,0.8)', //背景色
@@ -72267,6 +72374,7 @@ function JSChartResource()
72267
72374
 
72268
72375
  if (style.ChartSimpleTable) this.SetChartSimpleTable(style.ChartSimpleTable);
72269
72376
  if (style.ChartSimplePie) this.SetChartSimplePie(style.ChartSimplePie);
72377
+ if (style.ChartSimpleRadar) this.SetChartSimpleRadar(style.ChartSimpleRadar);
72270
72378
 
72271
72379
  if (style.DRAWICON)
72272
72380
  {
@@ -73360,6 +73468,30 @@ function JSChartResource()
73360
73468
  }
73361
73469
  }
73362
73470
 
73471
+ this.SetChartSimpleRadar=function(style)
73472
+ {
73473
+ var dest=this.ChartSimpleRadar;
73474
+ if (style.TextFont)
73475
+ {
73476
+ var item=style.TextFont;
73477
+ if (item.Name) dest.TextFont.Name=item.Name;
73478
+ if (IFrameSplitOperator.IsNumber(item.Size)) dest.TextFont.Size=item.Size;
73479
+ }
73480
+
73481
+ if (style.BorderColor) dest.BorderColor=style.BorderColor;
73482
+ if (style.TextColor) dest.TextColor=style.TextColor;
73483
+
73484
+ if (style.Offset)
73485
+ {
73486
+ var item=style.Offset;
73487
+ if (IFrameSplitOperator.IsNumber(item.X)) dest.Offset.X=item.X;
73488
+ if (IFrameSplitOperator.IsNumber(item.Y)) dest.Offset.Y=item.Y;
73489
+ }
73490
+
73491
+ if (IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor)) dest.AryBGColor=style.AryBGColor.slice();
73492
+ if (IFrameSplitOperator.IsNonEmptyArray(style.AryArea)) dest.AryArea=style.AryArea.slice();
73493
+ }
73494
+
73363
73495
  }
73364
73496
 
73365
73497
  var g_JSChartResource=new JSChartResource();
@@ -546,6 +546,20 @@ function GetBlackStyle()
546
546
  BorderColor:"rgb(220,220,220)",
547
547
  },
548
548
 
549
+ ChartSimpleRadar:
550
+ {
551
+ //TextFont:{ Family:'微软雅黑' , Size:12 },
552
+ BorderColor:"rgb(230, 230, 230)",
553
+ //Offset:{ X:-5, Y:5 },
554
+ TextColor:"rgb(250, 250, 250)",
555
+ AryBGColor:['rgba(63,61,82,0.9)','rgba(56,55,80,0.9)'],
556
+ AryArea:
557
+ [
558
+ { Color:"rgba(242,154,118,0.4)", LineColor:"rgb(242,154,118)"},
559
+ { Color:"rgba(121,197,228,0.4)", LineColor:"rgb(92,165,196)"},
560
+ ],
561
+ },
562
+
549
563
  ChartDrawVolProfile:
550
564
  {
551
565
  BGColor:"rgba(244,250,254,0.3)",
@@ -1862,6 +1862,8 @@ HQData.Report_APIIndex=function(data, callback)
1862
1862
  HQData.APIIndex_DRAW_SIMPLE_TABLE(data, callback);
1863
1863
  else if (request.Data.indexname=="API_DRAW_SIMPLE_PIE")
1864
1864
  HQData.APIIndex_DRAW_SIMPLE_PIE(data, callback);
1865
+ else if (request.Data.indexname=="API_DRAW_SIMPLE_RADAR")
1866
+ HQData.APIIndex_DRAW_SIMPLE_RADAR(data, callback);
1865
1867
 
1866
1868
  }
1867
1869
 
@@ -2388,3 +2390,73 @@ HQData.APIIndex_DRAW_SIMPLE_PIE=function(data, callback)
2388
2390
  }
2389
2391
 
2390
2392
 
2393
+ HQData.APIIndex_DRAW_SIMPLE_RADAR=function(data, callback)
2394
+ {
2395
+ data.PreventDefault=true;
2396
+ var hqchart=data.HQChart;
2397
+ var kData=hqchart.GetKData();
2398
+
2399
+ var tableData=
2400
+ {
2401
+ name:'DRAW_SIMPLE_RADAR', type:1,
2402
+ Draw:
2403
+ {
2404
+ DrawType:'DRAW_SIMPLE_RADAR',
2405
+ DrawData:
2406
+ {
2407
+ //BGColor:"rgba(250,250,210,0.8)",
2408
+ //BorderColor:"rgb(110,110,110)",
2409
+ //TextColor:"rgb(0,191,255)",
2410
+ Data:
2411
+ [
2412
+ { Value:10, Name:"1月", Group:"组1"},
2413
+ { Value:70, Name:"2月", Group:"组1"},
2414
+ { Value:80, Name:"3月", Group:"组1"},
2415
+ { Value:10, Name:"4月", Group:"组1"},
2416
+ { Value:40, Name:"5月", Group:"组1"},
2417
+ { Value:60, Name:"6月", Group:"组1"},
2418
+ { Value:66, Name:"7月", Group:"组1"},
2419
+ { Value:69, Name:"8月", Group:"组1"},
2420
+ { Value:80, Name:"9月", Group:"组1"},
2421
+ { Value:30, Name:"10月", Group:"组1"},
2422
+ { Value:20, Name:"11月", Group:"组1"},
2423
+ { Value:68, Name:"12月", Group:"组1"},
2424
+ ],
2425
+
2426
+ AryIndex:
2427
+ [
2428
+ { Name:"1月" },
2429
+ { Name:"2月" },
2430
+ { Name:"3月" },
2431
+ { Name:"4月" },
2432
+ { Name:"5月" },
2433
+ { Name:"6月" },
2434
+ { Name:"7月" },
2435
+ { Name:"8月" },
2436
+ { Name:"9月" },
2437
+ { Name:"10月" },
2438
+ { Name:"11月" },
2439
+ { Name:"12月" },
2440
+ ],
2441
+
2442
+ //TextFont:{ Size:16, Name:"微软雅黑"},
2443
+ //XOffset:-10,
2444
+ //YOffset:-15,
2445
+ Radius:50,
2446
+ }
2447
+ }
2448
+ };
2449
+
2450
+ var apiData=
2451
+ {
2452
+ code:0,
2453
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
2454
+ outdata: { date:kData.GetDate(), time:kData.GetTime() , outvar:[tableData] }
2455
+ };
2456
+
2457
+
2458
+ console.log('[HQData.APIIndex_DRAW_SIMPLE_RADAR] apiData ', apiData);
2459
+ callback(apiData);
2460
+ }
2461
+
2462
+