hqchart 1.1.14313 → 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.
- package/lib/umychart.vue.js +219 -203
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +72 -0
- package/src/jscommon/umychart.complier.js +149 -3
- package/src/jscommon/umychart.js +401 -110
- package/src/jscommon/umychart.style.js +14 -0
- package/src/jscommon/umychart.testdata.js +72 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +565 -114
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +72 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +565 -114
|
@@ -35854,6 +35854,313 @@ 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
|
+
|
|
35867
|
+
this.AreaColor='rgba(242,154,118,0.4)'; //
|
|
35868
|
+
this.AreaLineColor='rgb(242,154,118)';
|
|
35869
|
+
|
|
35870
|
+
this.TitleColor=g_JSChartResource.ChartSimpleRadar.TextColor;
|
|
35871
|
+
this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleRadar.TextFont);
|
|
35872
|
+
this.Offset=CloneData(g_JSChartResource.ChartSimpleRadar.Offset);
|
|
35873
|
+
this.BorderColor=g_JSChartResource.ChartSimpleRadar.BorderColor;
|
|
35874
|
+
this.AryBGColor=g_JSChartResource.ChartSimpleRadar.AryBGColor.slice();//背景色
|
|
35875
|
+
this.AryAreaConfig=g_JSChartResource.ChartSimpleRadar.AryArea.slice(); //面积图颜色
|
|
35876
|
+
|
|
35877
|
+
this.StartAngle=270;
|
|
35878
|
+
this.Radius=50;
|
|
35879
|
+
this.AryBorder=[1, 0.75, 0.5, 0.25];
|
|
35880
|
+
this.AryIndex; //指标{ Name:, Max:100, Min:0 },
|
|
35881
|
+
|
|
35882
|
+
this.CenterPoint={};
|
|
35883
|
+
this.RectClient={ };
|
|
35884
|
+
this.AryIndexCache=[];
|
|
35885
|
+
this.MapDataCache=new Map(); //key=name value={ Data:[] }
|
|
35886
|
+
this.TextFont;
|
|
35887
|
+
|
|
35888
|
+
|
|
35889
|
+
this.ReloadResource=function(resource)
|
|
35890
|
+
{
|
|
35891
|
+
this.TitleColor=g_JSChartResource.ChartSimpleRadar.TextColor;
|
|
35892
|
+
this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleRadar.TextFont);
|
|
35893
|
+
this.Offset=CloneData(g_JSChartResource.ChartSimpleRadar.Offset);
|
|
35894
|
+
this.BorderColor=g_JSChartResource.ChartSimpleRadar.BorderColor;
|
|
35895
|
+
this.AryBGColor=g_JSChartResource.ChartSimpleRadar.AryBGColor.slice();//背景色
|
|
35896
|
+
this.AryAreaConfig=g_JSChartResource.ChartSimpleRadar.AryArea.slice(); //面积图颜色
|
|
35897
|
+
}
|
|
35898
|
+
|
|
35899
|
+
this.DrawBorder=function() //画边框
|
|
35900
|
+
{
|
|
35901
|
+
this.Canvas.strokeStyle = this.BorderColor;
|
|
35902
|
+
this.Canvas.font=this.TextFont;
|
|
35903
|
+
for(var i=0;i<this.AryBorder.length;++i)
|
|
35904
|
+
{
|
|
35905
|
+
var rate = this.AryBorder[i];
|
|
35906
|
+
var radius=this.RectClient.Radius*rate;
|
|
35907
|
+
var bFirstDraw=true;
|
|
35908
|
+
for(var j=0;j<this.AryIndexCache.length;++j)
|
|
35909
|
+
{
|
|
35910
|
+
var item=this.AryIndexCache[j];
|
|
35911
|
+
var x = this.CenterPoint.X + radius * Math.cos(item.Angle * Math.PI / 180);
|
|
35912
|
+
var y = this.CenterPoint.Y + radius * Math.sin(item.Angle * Math.PI / 180);
|
|
35913
|
+
if (bFirstDraw)
|
|
35914
|
+
{
|
|
35915
|
+
this.Canvas.beginPath();
|
|
35916
|
+
this.Canvas.moveTo(x,y);
|
|
35917
|
+
bFirstDraw=false;
|
|
35918
|
+
}
|
|
35919
|
+
else
|
|
35920
|
+
{
|
|
35921
|
+
this.Canvas.lineTo(x,y);
|
|
35922
|
+
}
|
|
35923
|
+
}
|
|
35924
|
+
|
|
35925
|
+
this.Canvas.closePath();
|
|
35926
|
+
this.Canvas.stroke();
|
|
35927
|
+
|
|
35928
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.AryBGColor))
|
|
35929
|
+
{
|
|
35930
|
+
this.Canvas.fillStyle = this.AryBGColor[i%this.AryBGColor.length];
|
|
35931
|
+
this.Canvas.fill();
|
|
35932
|
+
}
|
|
35933
|
+
}
|
|
35934
|
+
|
|
35935
|
+
this.Canvas.beginPath();
|
|
35936
|
+
for(var i=0;i<this.AryIndexCache.length;++i)
|
|
35937
|
+
{
|
|
35938
|
+
var item=this.AryIndexCache[i];
|
|
35939
|
+
var x = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
|
|
35940
|
+
var y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
|
|
35941
|
+
this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
|
|
35942
|
+
this.Canvas.lineTo(x,y);
|
|
35943
|
+
this.DrawText(item, x, y);
|
|
35944
|
+
}
|
|
35945
|
+
this.Canvas.stroke();
|
|
35946
|
+
|
|
35947
|
+
}
|
|
35948
|
+
|
|
35949
|
+
this.GetRadarRate=function(indexItem, value)
|
|
35950
|
+
{
|
|
35951
|
+
var range={ Max:100, Min:0 };
|
|
35952
|
+
if (IFrameSplitOperator.IsNumber(indexItem.Max)) range.Max=indexItem.Max;
|
|
35953
|
+
if (IFrameSplitOperator.IsNumber(indexItem.Min)) range.Min=indexItem.Min;
|
|
35954
|
+
|
|
35955
|
+
if (value>range.Max) value=range.Max;
|
|
35956
|
+
else if (value<range.Min) value=range.Min;
|
|
35957
|
+
|
|
35958
|
+
return (value-range.Min)/(range.Max-range.Min);
|
|
35959
|
+
}
|
|
35960
|
+
|
|
35961
|
+
this.DrawArea=function()
|
|
35962
|
+
{
|
|
35963
|
+
if (this.MapDataCache.size<=0) return;
|
|
35964
|
+
|
|
35965
|
+
var index=0;
|
|
35966
|
+
for(var mapItem of this.MapDataCache)
|
|
35967
|
+
{
|
|
35968
|
+
var mapData=mapItem[1].MapData;
|
|
35969
|
+
|
|
35970
|
+
var bFirstDraw=true;
|
|
35971
|
+
var pointCount=0;
|
|
35972
|
+
for(var i=0;i<this.AryIndexCache.length;++i)
|
|
35973
|
+
{
|
|
35974
|
+
var indexItem=this.AryIndexCache[i];
|
|
35975
|
+
if (!indexItem.Data || !indexItem.Data.Name) continue;
|
|
35976
|
+
if (!mapData.has(indexItem.Data.Name)) continue;
|
|
35977
|
+
var item=mapData.get(indexItem.Data.Name);
|
|
35978
|
+
if (!item.Data && !IFrameSplitOperator.IsNumber(item.Data.Value)) conintue;
|
|
35979
|
+
|
|
35980
|
+
var widthRate=this.GetRadarRate(indexItem, item.Data.Value);
|
|
35981
|
+
var x = this.CenterPoint.X+indexItem.Radius*widthRate*Math.cos(indexItem.Angle * Math.PI / 180);
|
|
35982
|
+
var y = this.CenterPoint.Y+indexItem.Radius*widthRate*Math.sin(indexItem.Angle * Math.PI / 180);
|
|
35983
|
+
|
|
35984
|
+
if (bFirstDraw)
|
|
35985
|
+
{
|
|
35986
|
+
this.Canvas.beginPath();
|
|
35987
|
+
this.Canvas.moveTo(x,y);
|
|
35988
|
+
bFirstDraw=false;
|
|
35989
|
+
++pointCount;
|
|
35990
|
+
}
|
|
35991
|
+
else
|
|
35992
|
+
{
|
|
35993
|
+
this.Canvas.lineTo(x,y);
|
|
35994
|
+
++pointCount;
|
|
35995
|
+
}
|
|
35996
|
+
}
|
|
35997
|
+
|
|
35998
|
+
if (pointCount>0)
|
|
35999
|
+
{
|
|
36000
|
+
this.Canvas.closePath();
|
|
36001
|
+
|
|
36002
|
+
var config=this.AryAreaConfig[index%this.AryAreaConfig.length];
|
|
36003
|
+
if (config.Color)
|
|
36004
|
+
{
|
|
36005
|
+
this.Canvas.fillStyle = config.Color;
|
|
36006
|
+
this.Canvas.fill();
|
|
36007
|
+
}
|
|
36008
|
+
|
|
36009
|
+
if (config.LineColor)
|
|
36010
|
+
{
|
|
36011
|
+
this.Canvas.strokeStyle = config.LineColor;
|
|
36012
|
+
this.Canvas.stroke();
|
|
36013
|
+
}
|
|
36014
|
+
}
|
|
36015
|
+
|
|
36016
|
+
++index;
|
|
36017
|
+
}
|
|
36018
|
+
}
|
|
36019
|
+
|
|
36020
|
+
this.DrawText=function(item, x, y)
|
|
36021
|
+
{
|
|
36022
|
+
if (!item.Data || !item.Data.Name) return;
|
|
36023
|
+
|
|
36024
|
+
//JSConsole.Chart.Log(item.Text, item.Angle);
|
|
36025
|
+
this.Canvas.fillStyle = this.TitleColor;
|
|
36026
|
+
var xText = x, yText =y;
|
|
36027
|
+
|
|
36028
|
+
var angle=item.Angle%360;
|
|
36029
|
+
|
|
36030
|
+
//显示每个角度的位置
|
|
36031
|
+
if (angle > 0 && angle < 45) {
|
|
36032
|
+
this.Canvas.textAlign = 'left';
|
|
36033
|
+
this.Canvas.textBaseline = 'middle';
|
|
36034
|
+
xText += 2;
|
|
36035
|
+
}
|
|
36036
|
+
else if (angle >= 45 && angle < 90) {
|
|
36037
|
+
this.Canvas.textAlign = 'left';
|
|
36038
|
+
this.Canvas.textBaseline = 'top';
|
|
36039
|
+
xText += 2;
|
|
36040
|
+
}
|
|
36041
|
+
else if (angle==90)
|
|
36042
|
+
{
|
|
36043
|
+
this.Canvas.textAlign = 'center';
|
|
36044
|
+
this.Canvas.textBaseline = 'top';
|
|
36045
|
+
yText+=2;
|
|
36046
|
+
}
|
|
36047
|
+
else if (angle >= 90 && angle < 135) {
|
|
36048
|
+
this.Canvas.textAlign = 'right';
|
|
36049
|
+
this.Canvas.textBaseline = 'top';
|
|
36050
|
+
xText -= 2;
|
|
36051
|
+
}
|
|
36052
|
+
else if (angle >= 135 && angle < 180) {
|
|
36053
|
+
this.Canvas.textAlign = 'right';
|
|
36054
|
+
this.Canvas.textBaseline = 'top';
|
|
36055
|
+
xText -= 2;
|
|
36056
|
+
}
|
|
36057
|
+
else if (angle >= 180 && angle < 225) {
|
|
36058
|
+
this.Canvas.textAlign = 'right';
|
|
36059
|
+
this.Canvas.textBaseline = 'middle';
|
|
36060
|
+
xText -= 2;
|
|
36061
|
+
}
|
|
36062
|
+
else if (angle >= 225 && angle <= 270) {
|
|
36063
|
+
this.Canvas.textAlign = 'center';
|
|
36064
|
+
this.Canvas.textBaseline = 'bottom';
|
|
36065
|
+
}
|
|
36066
|
+
else if (angle > 270 && angle < 315) {
|
|
36067
|
+
this.Canvas.textAlign = 'left';
|
|
36068
|
+
this.Canvas.textBaseline = 'bottom';
|
|
36069
|
+
xText += 2;
|
|
36070
|
+
}
|
|
36071
|
+
else
|
|
36072
|
+
{
|
|
36073
|
+
this.Canvas.textAlign = 'left';
|
|
36074
|
+
this.Canvas.textBaseline = 'middle';
|
|
36075
|
+
xText += 2;
|
|
36076
|
+
}
|
|
36077
|
+
|
|
36078
|
+
this.Canvas.fillText(item.Data.Name, xText, yText);
|
|
36079
|
+
}
|
|
36080
|
+
|
|
36081
|
+
this.Draw=function()
|
|
36082
|
+
{
|
|
36083
|
+
this.AryIndexCache=[];
|
|
36084
|
+
this.MapData=new Map();
|
|
36085
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryIndex)) return;
|
|
36086
|
+
|
|
36087
|
+
this.CalculateSize();
|
|
36088
|
+
|
|
36089
|
+
this.DrawBorder();
|
|
36090
|
+
|
|
36091
|
+
this.DrawArea();
|
|
36092
|
+
}
|
|
36093
|
+
|
|
36094
|
+
this.BuildCacheData=function()
|
|
36095
|
+
{
|
|
36096
|
+
this.MapDataCache=new Map();
|
|
36097
|
+
|
|
36098
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
36099
|
+
{
|
|
36100
|
+
var item=this.Data.Data[i];
|
|
36101
|
+
if (!this.MapDataCache.has(item.Group))
|
|
36102
|
+
{
|
|
36103
|
+
this.MapDataCache.set(item.Group, { MapData:new Map() })
|
|
36104
|
+
}
|
|
36105
|
+
|
|
36106
|
+
var mpaItem=this.MapDataCache.get(item.Group);
|
|
36107
|
+
mpaItem.MapData.set(item.Name, { Data:item });
|
|
36108
|
+
}
|
|
36109
|
+
}
|
|
36110
|
+
|
|
36111
|
+
this.CalculateSize=function(data)
|
|
36112
|
+
{
|
|
36113
|
+
var border=this.ChartBorder.GetBorder();
|
|
36114
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
36115
|
+
this.TextFont=`${this.TextFontConfig.Size*pixelRatio}px ${ this.TextFontConfig.Name}`;
|
|
36116
|
+
var fontHeight=this.GetFontHeight(this.TextFont,"擎")+1;
|
|
36117
|
+
|
|
36118
|
+
var maxTextWidth=0;
|
|
36119
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.AryIndex))
|
|
36120
|
+
{
|
|
36121
|
+
for(var i=0;i<this.AryIndex.length;++i)
|
|
36122
|
+
{
|
|
36123
|
+
var item=this.AryIndex[i];
|
|
36124
|
+
if (!item.Name) continue;
|
|
36125
|
+
var textWidth=this.Canvas.measureText(item.Name).width;
|
|
36126
|
+
if (maxTextWidth<textWidth) maxTextWidth=textWidth;
|
|
36127
|
+
}
|
|
36128
|
+
}
|
|
36129
|
+
|
|
36130
|
+
var radius=this.Radius*2*pixelRatio; //半径
|
|
36131
|
+
this.RectClient={ Width:radius*2, Height:radius*2, Radius:radius };
|
|
36132
|
+
this.RectClient.Right=border.Right+this.Offset.X-maxTextWidth;
|
|
36133
|
+
this.RectClient.Top=border.TopEx+this.Offset.Y+fontHeight;
|
|
36134
|
+
this.RectClient.Left=this.RectClient.Right-this.RectClient.Width;
|
|
36135
|
+
this.RectClient.Bottom=this.RectClient.Top+this.RectClient.Height;
|
|
36136
|
+
|
|
36137
|
+
var ptCenter={X:this.RectClient.Left+this.RectClient.Width/2, Y:this.RectClient.Top+this.RectClient.Height/2}; //中心点
|
|
36138
|
+
|
|
36139
|
+
var count=Math.max(5,this.AryIndex.length);
|
|
36140
|
+
var averageAngle=360/count;
|
|
36141
|
+
for(var i=0;i<count;++i)
|
|
36142
|
+
{
|
|
36143
|
+
var angle=i*averageAngle+this.StartAngle;
|
|
36144
|
+
|
|
36145
|
+
var indexItem={ Data:null, Index:i, Angle:angle, Radius:radius };
|
|
36146
|
+
if (this.AryIndex && this.AryIndex[i])
|
|
36147
|
+
{
|
|
36148
|
+
indexItem.Data=this.AryIndex[i];
|
|
36149
|
+
}
|
|
36150
|
+
|
|
36151
|
+
this.AryIndexCache.push(indexItem);
|
|
36152
|
+
}
|
|
36153
|
+
|
|
36154
|
+
this.CenterPoint=ptCenter;
|
|
36155
|
+
}
|
|
36156
|
+
|
|
36157
|
+
//空数据
|
|
36158
|
+
this.DrawEmptyData=function()
|
|
36159
|
+
{
|
|
36160
|
+
JSConsole.Chart.Log('[ChartSimpleRadar::DrawEmptyData]')
|
|
36161
|
+
}
|
|
36162
|
+
}
|
|
36163
|
+
|
|
35857
36164
|
//分钟成交量 支持横屏
|
|
35858
36165
|
function ChartMinuteVolumBar()
|
|
35859
36166
|
{
|
|
@@ -56481,6 +56788,7 @@ function ChartCorssCursor()
|
|
|
56481
56788
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
56482
56789
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
56483
56790
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
56791
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
56484
56792
|
this.TextHeight=20; //文本字体高度
|
|
56485
56793
|
this.LastPoint;
|
|
56486
56794
|
this.LastValue; //{ Y:{ Value:, Extend: } }
|
|
@@ -56536,6 +56844,7 @@ function ChartCorssCursor()
|
|
|
56536
56844
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
|
|
56537
56845
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
|
|
56538
56846
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
|
|
56847
|
+
this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
|
|
56539
56848
|
}
|
|
56540
56849
|
|
|
56541
56850
|
this.GetCloseYPoint=function(index)
|
|
@@ -56794,10 +57103,10 @@ function ChartCorssCursor()
|
|
|
56794
57103
|
}
|
|
56795
57104
|
|
|
56796
57105
|
var pixel=GetDevicePixelRatio();
|
|
56797
|
-
if (this.HPenType==1 || this.HPenType==0) //0
|
|
57106
|
+
if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
|
|
56798
57107
|
{
|
|
56799
57108
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
56800
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
57109
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
56801
57110
|
//this.Canvas.lineWidth=0.5
|
|
56802
57111
|
this.Canvas.beginPath();
|
|
56803
57112
|
this.Canvas.moveTo(left,ToFixedPoint(y));
|
|
@@ -56810,7 +57119,7 @@ function ChartCorssCursor()
|
|
|
56810
57119
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
56811
57120
|
if (this.VPenType==0)
|
|
56812
57121
|
{
|
|
56813
|
-
this.Canvas.setLineDash(
|
|
57122
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
56814
57123
|
}
|
|
56815
57124
|
else if (this.VPenType==2)
|
|
56816
57125
|
{
|
|
@@ -57405,7 +57714,7 @@ function ChartCorssCursor()
|
|
|
57405
57714
|
var pixel=GetDevicePixelRatio();
|
|
57406
57715
|
this.Canvas.save();
|
|
57407
57716
|
this.Canvas.strokeStyle=this.HPenColor;
|
|
57408
|
-
if (this.HPenType==0) this.Canvas.setLineDash(
|
|
57717
|
+
if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
|
|
57409
57718
|
|
|
57410
57719
|
//画竖线
|
|
57411
57720
|
this.Canvas.beginPath();
|
|
@@ -57419,7 +57728,7 @@ function ChartCorssCursor()
|
|
|
57419
57728
|
this.Canvas.strokeStyle=this.VPenColor;
|
|
57420
57729
|
if (this.VPenType==0)
|
|
57421
57730
|
{
|
|
57422
|
-
this.Canvas.setLineDash(
|
|
57731
|
+
this.Canvas.setLineDash(this.LineDash); //虚线
|
|
57423
57732
|
}
|
|
57424
57733
|
else if (this.VPenType==2)
|
|
57425
57734
|
{
|
|
@@ -60695,7 +61004,12 @@ function DynamicChartTitlePainting()
|
|
|
60695
61004
|
{
|
|
60696
61005
|
this.Font=g_JSChartResource.TitleFont;
|
|
60697
61006
|
this.TitleColor=g_JSChartResource.DefaultTextColor;
|
|
61007
|
+
this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
|
|
60698
61008
|
this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
|
|
61009
|
+
|
|
61010
|
+
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
61011
|
+
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
61012
|
+
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
60699
61013
|
}
|
|
60700
61014
|
|
|
60701
61015
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -74369,6 +74683,7 @@ function JSChartResource()
|
|
|
74369
74683
|
this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
|
|
74370
74684
|
this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
|
|
74371
74685
|
this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
|
|
74686
|
+
this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
|
|
74372
74687
|
|
|
74373
74688
|
this.CorssCursor=
|
|
74374
74689
|
{
|
|
@@ -74739,6 +75054,20 @@ function JSChartResource()
|
|
|
74739
75054
|
Offset:{ X:-5, Y:5 }
|
|
74740
75055
|
}
|
|
74741
75056
|
|
|
75057
|
+
this.ChartSimpleRadar=
|
|
75058
|
+
{
|
|
75059
|
+
TextFont:{ Family:'微软雅黑' , Size:12 },
|
|
75060
|
+
BorderColor:"rgb(169,169,169)",
|
|
75061
|
+
Offset:{ X:-5, Y:5 },
|
|
75062
|
+
TextColor:"rgb(105,105,105)",
|
|
75063
|
+
AryBGColor:['rgba(255,255,255,0.9)', 'rgba(230, 234, 242,0.9)'],
|
|
75064
|
+
AryArea:
|
|
75065
|
+
[
|
|
75066
|
+
{ Color:"rgba(242,154,118,0.4)", LineColor:"rgb(242,154,118)"},
|
|
75067
|
+
{ Color:"rgba(121,197,228,0.4)", LineColor:"rgb(92,165,196)"},
|
|
75068
|
+
],
|
|
75069
|
+
}
|
|
75070
|
+
|
|
74742
75071
|
//手机端tooltip
|
|
74743
75072
|
this.TooltipPaint = {
|
|
74744
75073
|
BGColor:'rgba(250,250,250,0.8)', //背景色
|
|
@@ -75789,6 +76118,7 @@ function JSChartResource()
|
|
|
75789
76118
|
if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
|
|
75790
76119
|
if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
|
|
75791
76120
|
if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
|
|
76121
|
+
if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
|
|
75792
76122
|
if (style.CorssCursor && style.CorssCursor.RightButton)
|
|
75793
76123
|
{
|
|
75794
76124
|
var item=style.CorssCursor.RightButton;
|
|
@@ -75969,6 +76299,7 @@ function JSChartResource()
|
|
|
75969
76299
|
|
|
75970
76300
|
if (style.ChartSimpleTable) this.SetChartSimpleTable(style.ChartSimpleTable);
|
|
75971
76301
|
if (style.ChartSimplePie) this.SetChartSimplePie(style.ChartSimplePie);
|
|
76302
|
+
if (style.ChartSimpleRadar) this.SetChartSimpleRadar(style.ChartSimpleRadar);
|
|
75972
76303
|
|
|
75973
76304
|
if (style.DRAWICON)
|
|
75974
76305
|
{
|
|
@@ -77062,6 +77393,30 @@ function JSChartResource()
|
|
|
77062
77393
|
}
|
|
77063
77394
|
}
|
|
77064
77395
|
|
|
77396
|
+
this.SetChartSimpleRadar=function(style)
|
|
77397
|
+
{
|
|
77398
|
+
var dest=this.ChartSimpleRadar;
|
|
77399
|
+
if (style.TextFont)
|
|
77400
|
+
{
|
|
77401
|
+
var item=style.TextFont;
|
|
77402
|
+
if (item.Name) dest.TextFont.Name=item.Name;
|
|
77403
|
+
if (IFrameSplitOperator.IsNumber(item.Size)) dest.TextFont.Size=item.Size;
|
|
77404
|
+
}
|
|
77405
|
+
|
|
77406
|
+
if (style.BorderColor) dest.BorderColor=style.BorderColor;
|
|
77407
|
+
if (style.TextColor) dest.TextColor=style.TextColor;
|
|
77408
|
+
|
|
77409
|
+
if (style.Offset)
|
|
77410
|
+
{
|
|
77411
|
+
var item=style.Offset;
|
|
77412
|
+
if (IFrameSplitOperator.IsNumber(item.X)) dest.Offset.X=item.X;
|
|
77413
|
+
if (IFrameSplitOperator.IsNumber(item.Y)) dest.Offset.Y=item.Y;
|
|
77414
|
+
}
|
|
77415
|
+
|
|
77416
|
+
if (IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor)) dest.AryBGColor=style.AryBGColor.slice();
|
|
77417
|
+
if (IFrameSplitOperator.IsNonEmptyArray(style.AryArea)) dest.AryArea=style.AryArea.slice();
|
|
77418
|
+
}
|
|
77419
|
+
|
|
77065
77420
|
}
|
|
77066
77421
|
|
|
77067
77422
|
var g_JSChartResource=new JSChartResource();
|
|
@@ -89828,12 +90183,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89828
90183
|
this.CaclutateCallCationYRange();
|
|
89829
90184
|
}
|
|
89830
90185
|
|
|
90186
|
+
//增量更新
|
|
89831
90187
|
this.RecvUpdateMinuteData=function(data)
|
|
89832
90188
|
{
|
|
89833
90189
|
var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
|
|
89834
90190
|
var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
|
|
89835
|
-
|
|
89836
|
-
this.AfterCloseData=null;
|
|
90191
|
+
|
|
89837
90192
|
var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
|
|
89838
90193
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
89839
90194
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
@@ -89852,92 +90207,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89852
90207
|
return;
|
|
89853
90208
|
}
|
|
89854
90209
|
|
|
89855
|
-
|
|
90210
|
+
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
90211
|
+
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
89856
90212
|
|
|
90213
|
+
//原始数据
|
|
89857
90214
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
89858
|
-
|
|
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
|
-
}
|
|
90215
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
89879
90216
|
|
|
89880
|
-
|
|
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)
|
|
90217
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
89890
90218
|
{
|
|
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
90219
|
|
|
89899
|
-
|
|
90220
|
+
}
|
|
90221
|
+
else
|
|
89900
90222
|
{
|
|
89901
|
-
|
|
89902
|
-
|
|
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
|
-
}
|
|
90223
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
|
|
90224
|
+
this.AutoUpdate();
|
|
89916
90225
|
}
|
|
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
90226
|
}
|
|
89942
90227
|
|
|
89943
90228
|
this.RecvMinuteData=function(data)
|
|
@@ -90004,15 +90289,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90004
90289
|
var sourceData=new ChartData();
|
|
90005
90290
|
sourceData.Data=aryMinuteData;
|
|
90006
90291
|
sourceData.UpdateTime=updateTime;
|
|
90292
|
+
this.SourceData=sourceData;
|
|
90007
90293
|
|
|
90008
90294
|
this.ColorLineData=aryColorData;
|
|
90009
90295
|
|
|
90010
|
-
this.
|
|
90296
|
+
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
|
|
90297
|
+
|
|
90298
|
+
if (data.AutoUpdate===false) //不执行自动更新
|
|
90299
|
+
{
|
|
90300
|
+
|
|
90301
|
+
}
|
|
90302
|
+
else
|
|
90303
|
+
{
|
|
90304
|
+
this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
|
|
90305
|
+
this.AutoUpdate();
|
|
90306
|
+
}
|
|
90307
|
+
}
|
|
90308
|
+
|
|
90309
|
+
//更新单日分时图
|
|
90310
|
+
this.UpdateMinuteUI=function(stockData, eventData)
|
|
90311
|
+
{
|
|
90312
|
+
this.TradeDate=stockData.date;
|
|
90011
90313
|
this.Frame.SetDayCount(1); //单日数据
|
|
90012
90314
|
|
|
90013
|
-
this.
|
|
90014
|
-
this.
|
|
90015
|
-
this.Name=data.stock[0].name;
|
|
90315
|
+
this.Symbol=stockData.symbol;
|
|
90316
|
+
this.Name=stockData.name;
|
|
90016
90317
|
|
|
90017
90318
|
this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
|
|
90018
90319
|
|
|
@@ -90027,26 +90328,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90027
90328
|
}
|
|
90028
90329
|
}
|
|
90029
90330
|
|
|
90030
|
-
var yClose=
|
|
90331
|
+
var yClose=stockData.yclose;
|
|
90031
90332
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
90032
90333
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
90033
|
-
if (
|
|
90034
|
-
this.CaclutateLimitPrice(yClose,
|
|
90334
|
+
if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
|
|
90335
|
+
this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
|
|
90035
90336
|
var extendData=null;
|
|
90036
|
-
if (
|
|
90037
|
-
this.BindMainData(
|
|
90337
|
+
if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
|
|
90338
|
+
this.BindMainData(this.SourceData,yClose, extendData);
|
|
90038
90339
|
|
|
90039
90340
|
if (this.Frame.SubFrame.length>2)
|
|
90040
90341
|
{
|
|
90041
90342
|
var bindData=new ChartData();
|
|
90042
|
-
bindData.Data=
|
|
90343
|
+
bindData.Data=this.SourceData.Data;
|
|
90043
90344
|
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
90044
90345
|
{
|
|
90045
90346
|
this.BindIndexData(i,bindData);
|
|
90046
90347
|
}
|
|
90047
90348
|
}
|
|
90048
90349
|
|
|
90049
|
-
for(
|
|
90350
|
+
for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
|
|
90050
90351
|
{
|
|
90051
90352
|
var item=this.Frame.SubFrame[i];
|
|
90052
90353
|
item.Frame.XSplitOperator.Symbol=this.Symbol;
|
|
@@ -90054,7 +90355,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90054
90355
|
item.Frame.XSplitOperator.Operator(); //调整X轴个数
|
|
90055
90356
|
item.Frame.YSplitOperator.Symbol=this.Symbol;
|
|
90056
90357
|
|
|
90057
|
-
for(
|
|
90358
|
+
for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
|
|
90058
90359
|
{
|
|
90059
90360
|
var overlayItem=item.OverlayIndex[j];
|
|
90060
90361
|
overlayItem.Frame.XPointCount=item.Frame.XPointCount;
|
|
@@ -90067,12 +90368,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90067
90368
|
|
|
90068
90369
|
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
|
|
90069
90370
|
|
|
90070
|
-
if (
|
|
90371
|
+
if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
|
|
90071
90372
|
|
|
90072
90373
|
var chartInfo=this.GetChartMinuteInfo();
|
|
90073
90374
|
if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
|
|
90074
90375
|
|
|
90075
|
-
this.RecvMinuteDataEvent(
|
|
90376
|
+
if (eventData) this.RecvMinuteDataEvent( eventData );
|
|
90076
90377
|
this.RequestMinuteInfoData();
|
|
90077
90378
|
this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
90078
90379
|
this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
@@ -90082,16 +90383,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90082
90383
|
this.Draw();
|
|
90083
90384
|
|
|
90084
90385
|
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
90386
|
}
|
|
90096
90387
|
|
|
90097
90388
|
this.CaclutateLimitPrice=function(yClose, limitData)
|
|
@@ -112294,8 +112585,24 @@ function JSDraw(errorHandler,symbolData)
|
|
|
112294
112585
|
}
|
|
112295
112586
|
|
|
112296
112587
|
//饼图
|
|
112297
|
-
this.PIE_CELL=function(
|
|
112588
|
+
this.PIE_CELL=function(data, color, text, textColor, lineColor)
|
|
112298
112589
|
{
|
|
112590
|
+
var value=null;
|
|
112591
|
+
if (IFrameSplitOperator.IsNumber(data))
|
|
112592
|
+
{
|
|
112593
|
+
value=data;
|
|
112594
|
+
}
|
|
112595
|
+
else if (IFrameSplitOperator.IsString(data))
|
|
112596
|
+
{
|
|
112597
|
+
value=parseFloat(data);
|
|
112598
|
+
}
|
|
112599
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data))
|
|
112600
|
+
{
|
|
112601
|
+
var lastValue=data[data.length-1];
|
|
112602
|
+
if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
|
|
112603
|
+
else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
|
|
112604
|
+
}
|
|
112605
|
+
|
|
112299
112606
|
var cellItem={ Value:value, Color:color };
|
|
112300
112607
|
if (text) cellItem.Text=text;
|
|
112301
112608
|
if (textColor) cellItem.TextColor=textColor;
|
|
@@ -112316,6 +112623,48 @@ function JSDraw(errorHandler,symbolData)
|
|
|
112316
112623
|
|
|
112317
112624
|
return result={ DrawData:{ Data:aryCell, Radius:radius }, DrawType:"DRAW_SIMPLE_PIE" };
|
|
112318
112625
|
}
|
|
112626
|
+
|
|
112627
|
+
this.RADAR_CELL=function(name, data, max, min)
|
|
112628
|
+
{
|
|
112629
|
+
var cellItem={ Name:name, Max:100, Min:0, Value:null };
|
|
112630
|
+
if (IFrameSplitOperator.IsNumber(data))
|
|
112631
|
+
{
|
|
112632
|
+
cellItem.Value=data;
|
|
112633
|
+
}
|
|
112634
|
+
else if (IFrameSplitOperator.IsString(data))
|
|
112635
|
+
{
|
|
112636
|
+
cellItem.Value=parseFloat(data);
|
|
112637
|
+
}
|
|
112638
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data))
|
|
112639
|
+
{
|
|
112640
|
+
var lastValue=data[data.length-1];
|
|
112641
|
+
if (IFrameSplitOperator.IsNumber(lastValue)) cellItem.Value=lastValue;
|
|
112642
|
+
else if (IFrameSplitOperator.IsString(lastValue)) cellItem.Value=parseFloat(lastValue);
|
|
112643
|
+
}
|
|
112644
|
+
|
|
112645
|
+
if (IFrameSplitOperator.IsNumber(max)) cellItem.Max=max;
|
|
112646
|
+
if (IFrameSplitOperator.IsNumber(min)) cellItem.Min=min;
|
|
112647
|
+
|
|
112648
|
+
return cellItem;
|
|
112649
|
+
}
|
|
112650
|
+
|
|
112651
|
+
this.DRAWRADAR=function(args)
|
|
112652
|
+
{
|
|
112653
|
+
var radius=args[0];
|
|
112654
|
+
var color=args[1];
|
|
112655
|
+
|
|
112656
|
+
var aryIndex=[];
|
|
112657
|
+
var aryData=[];
|
|
112658
|
+
for(var i=2;i<args.length;++i)
|
|
112659
|
+
{
|
|
112660
|
+
var item=args[i];
|
|
112661
|
+
|
|
112662
|
+
aryIndex.push({ Name:item.Name, Max:item.Max, Min:item.Min });
|
|
112663
|
+
aryData.push({ Value:item.Value, Name:item.Name, Group:"Default"});
|
|
112664
|
+
}
|
|
112665
|
+
|
|
112666
|
+
return result={ DrawData:{ Data:aryData, AryIndex:aryIndex, Radius:radius, AryArea:[{ LineColor:color }] }, DrawType:"DRAW_SIMPLE_RADAR" };
|
|
112667
|
+
}
|
|
112319
112668
|
}
|
|
112320
112669
|
|
|
112321
112670
|
|
|
@@ -112370,7 +112719,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
112370
112719
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
112371
112720
|
"VERTLINE","HORLINE","TIPICON",
|
|
112372
112721
|
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
112373
|
-
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE","DRAWPIE",
|
|
112722
|
+
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE","DRAWPIE","DRAWRADAR",
|
|
112374
112723
|
]);
|
|
112375
112724
|
if (setFunctionName.has(name)) return true;
|
|
112376
112725
|
|
|
@@ -119259,6 +119608,14 @@ function JSExecute(ast,option)
|
|
|
119259
119608
|
node.Draw=this.Draw.DRAWPIE(args);
|
|
119260
119609
|
node.Out=[];
|
|
119261
119610
|
break;
|
|
119611
|
+
//雷达图
|
|
119612
|
+
case "RADAR_CELL":
|
|
119613
|
+
node.Out=this.Draw.RADAR_CELL(args[0],args[1],args[2],args[3]);
|
|
119614
|
+
break;
|
|
119615
|
+
case "DRAWRADAR":
|
|
119616
|
+
node.Draw=this.Draw.DRAWRADAR(args);
|
|
119617
|
+
node.Out=[];
|
|
119618
|
+
break;
|
|
119262
119619
|
|
|
119263
119620
|
default:
|
|
119264
119621
|
node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
|
|
@@ -122275,6 +122632,35 @@ function ScriptIndex(name,script,args,option)
|
|
|
122275
122632
|
hqChart.ChartPaint.push(chart);
|
|
122276
122633
|
}
|
|
122277
122634
|
|
|
122635
|
+
this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id)
|
|
122636
|
+
{
|
|
122637
|
+
var chart=new ChartSimpleRadar();
|
|
122638
|
+
chart.Canvas=hqChart.Canvas;
|
|
122639
|
+
chart.Name=varItem.Name;
|
|
122640
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
122641
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
122642
|
+
|
|
122643
|
+
if (varItem.Draw && varItem.Draw.DrawData)
|
|
122644
|
+
{
|
|
122645
|
+
var drawData=varItem.Draw.DrawData;
|
|
122646
|
+
if (drawData.Data) chart.Data.Data=drawData.Data;
|
|
122647
|
+
if (drawData.AryIndex) chart.AryIndex=drawData.AryIndex;
|
|
122648
|
+
if (IFrameSplitOperator.IsPlusNumber(drawData.Radius)) chart.Radius=drawData.Radius;
|
|
122649
|
+
if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
|
|
122650
|
+
|
|
122651
|
+
if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
|
|
122652
|
+
if (drawData.TextColor) chart.TextColor=drawData.TextColor;
|
|
122653
|
+
if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
|
|
122654
|
+
if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
|
|
122655
|
+
if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
|
|
122656
|
+
if (IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea)) chart.AryAreaConfig=drawData.AryArea;
|
|
122657
|
+
|
|
122658
|
+
chart.BuildCacheData();
|
|
122659
|
+
}
|
|
122660
|
+
|
|
122661
|
+
hqChart.ChartPaint.push(chart);
|
|
122662
|
+
}
|
|
122663
|
+
|
|
122278
122664
|
this.CreateTradeIcon=function(hqChart,windowIndex,varItem,id)
|
|
122279
122665
|
{
|
|
122280
122666
|
var chart=new ChartTradeIcon();
|
|
@@ -123150,6 +123536,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
123150
123536
|
break;
|
|
123151
123537
|
case "DRAW_SIMPLE_PIE":
|
|
123152
123538
|
this.CreateSimplePie(hqChart,windowIndex,item,i);
|
|
123539
|
+
break;
|
|
123540
|
+
case "DRAW_SIMPLE_RADAR":
|
|
123541
|
+
this.CreateSimpleRadar(hqChart,windowIndex,item,i);
|
|
123542
|
+
break;
|
|
123153
123543
|
case "BUY":
|
|
123154
123544
|
case "SELL":
|
|
123155
123545
|
case "SELLSHORT":
|
|
@@ -123502,7 +123892,10 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
123502
123892
|
break;
|
|
123503
123893
|
case "DRAW_SIMPLE_PIE":
|
|
123504
123894
|
this.CreateSimplePie(hqChart,windowIndex,item,i);
|
|
123505
|
-
|
|
123895
|
+
break;
|
|
123896
|
+
case "DRAW_SIMPLE_RADAR":
|
|
123897
|
+
this.CreateSimpleRadar(hqChart,windowIndex,item,i);
|
|
123898
|
+
break;
|
|
123506
123899
|
case "KLINE_BG":
|
|
123507
123900
|
this.CreateBackgroud(hqChart,windowIndex,item,i);
|
|
123508
123901
|
break;
|
|
@@ -124570,6 +124963,39 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
124570
124963
|
frame.ChartPaint.push(chart);
|
|
124571
124964
|
}
|
|
124572
124965
|
|
|
124966
|
+
this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id)
|
|
124967
|
+
{
|
|
124968
|
+
var overlayIndex=this.OverlayIndex;
|
|
124969
|
+
var frame=overlayIndex.Frame;
|
|
124970
|
+
var chart=new ChartSimpleRadar();
|
|
124971
|
+
chart.Canvas=hqChart.Canvas;
|
|
124972
|
+
chart.Name=varItem.Name;
|
|
124973
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
124974
|
+
chart.ChartFrame=frame.Frame;
|
|
124975
|
+
chart.Identify=overlayIndex.Identify;
|
|
124976
|
+
chart.HQChart=hqChart;
|
|
124977
|
+
|
|
124978
|
+
if (varItem.Draw && varItem.Draw.DrawData)
|
|
124979
|
+
{
|
|
124980
|
+
var drawData=varItem.Draw.DrawData;
|
|
124981
|
+
if (drawData.Data) chart.Data.Data=drawData.Data;
|
|
124982
|
+
if (drawData.AryIndex) chart.AryIndex=drawData.AryIndex;
|
|
124983
|
+
if (IFrameSplitOperator.IsPlusNumber(drawData.Radius)) chart.Radius=drawData.Radius;
|
|
124984
|
+
if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
|
|
124985
|
+
|
|
124986
|
+
if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
|
|
124987
|
+
if (drawData.TextColor) chart.TextColor=drawData.TextColor;
|
|
124988
|
+
if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
|
|
124989
|
+
if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
|
|
124990
|
+
if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
|
|
124991
|
+
if (IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea)) chart.AryAreaConfig=drawData.AryArea;
|
|
124992
|
+
|
|
124993
|
+
chart.BuildCacheData();
|
|
124994
|
+
}
|
|
124995
|
+
|
|
124996
|
+
frame.ChartPaint.push(chart);
|
|
124997
|
+
}
|
|
124998
|
+
|
|
124573
124999
|
this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id)
|
|
124574
125000
|
{
|
|
124575
125001
|
var overlayIndex=this.OverlayIndex;
|
|
@@ -125783,6 +126209,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
125783
126209
|
outVarItem.Draw=drawItem;
|
|
125784
126210
|
result.push(outVarItem);
|
|
125785
126211
|
}
|
|
126212
|
+
else if (draw.DrawType=="DRAW_SIMPLE_RADAR")
|
|
126213
|
+
{
|
|
126214
|
+
drawItem.Name=draw.Name;
|
|
126215
|
+
drawItem.Type=draw.Type;
|
|
126216
|
+
|
|
126217
|
+
drawItem.DrawType=draw.DrawType;
|
|
126218
|
+
drawItem.DrawData=draw.DrawData; //{ AryIndex:[ ], Data:[] };
|
|
126219
|
+
|
|
126220
|
+
outVarItem.Draw=drawItem;
|
|
126221
|
+
result.push(outVarItem);
|
|
126222
|
+
}
|
|
125786
126223
|
else
|
|
125787
126224
|
{
|
|
125788
126225
|
var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
|
|
@@ -127399,6 +127836,20 @@ function GetBlackStyle()
|
|
|
127399
127836
|
BorderColor:"rgb(220,220,220)",
|
|
127400
127837
|
},
|
|
127401
127838
|
|
|
127839
|
+
ChartSimpleRadar:
|
|
127840
|
+
{
|
|
127841
|
+
//TextFont:{ Family:'微软雅黑' , Size:12 },
|
|
127842
|
+
BorderColor:"rgb(230, 230, 230)",
|
|
127843
|
+
//Offset:{ X:-5, Y:5 },
|
|
127844
|
+
TextColor:"rgb(250, 250, 250)",
|
|
127845
|
+
AryBGColor:['rgba(63,61,82,0.9)','rgba(56,55,80,0.9)'],
|
|
127846
|
+
AryArea:
|
|
127847
|
+
[
|
|
127848
|
+
{ Color:"rgba(242,154,118,0.4)", LineColor:"rgb(242,154,118)"},
|
|
127849
|
+
{ Color:"rgba(121,197,228,0.4)", LineColor:"rgb(92,165,196)"},
|
|
127850
|
+
],
|
|
127851
|
+
},
|
|
127852
|
+
|
|
127402
127853
|
ChartDrawVolProfile:
|
|
127403
127854
|
{
|
|
127404
127855
|
BGColor:"rgba(244,250,254,0.3)",
|
|
@@ -141934,7 +142385,7 @@ function ScrollBarBGChart()
|
|
|
141934
142385
|
|
|
141935
142386
|
|
|
141936
142387
|
|
|
141937
|
-
var HQCHART_VERSION="1.1.
|
|
142388
|
+
var HQCHART_VERSION="1.1.14329";
|
|
141938
142389
|
|
|
141939
142390
|
function PrintHQChartVersion()
|
|
141940
142391
|
{
|