hqchart 1.1.12831 → 1.1.12836
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
CHANGED
|
@@ -4270,10 +4270,11 @@ this.Canvas.strokeStyle=color;if(bgColor)this.Canvas.fill(path);if(color)this.Ca
|
|
|
4270
4270
|
function ChartMultiText(){this.newMethod=IChartPainting;//派生
|
|
4271
4271
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiText";this.Texts=[];//[ {Index:, Value:, Text:, Color:, Font: , Baseline:, Line:{ Color:, Dash:[虚线点], KData:"H/L", Offset:[5,10], Width:线粗细 }} ]
|
|
4272
4272
|
this.Font=g_JSChartResource.DefaultTextFont;this.Color=g_JSChartResource.DefaultTextColor;this.IsHScreen=false;//是否横屏
|
|
4273
|
-
this.
|
|
4273
|
+
this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time)){var key=kItem.Date+'-'+item.Time;}else{var key=''+item.Date;}return key;};this.GetShowTextData=function(){var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var mapText=new _map2.default();//key='date-time' value={ Data:[] }
|
|
4274
|
+
for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];if(!item.Text)continue;if(!IFrameSplitOperator.IsNumber(item.Index))continue;var index=item.Index-offset;if(index>=0&&index<xPointCount){var key=this.BuildKey(item);if(mapText.has(key)){var textItem=mapText.get(key);textItem.Data.push(item);}else{var textItem={Data:[item]};mapText.set(key,textItem);}}}return mapText;};this.DrawAllText=function(mapText){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var left=this.ChartBorder.GetTop();var right=this.ChartBorder.GetBottom();}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!mapText.has(key))continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var textItem=mapText.get(key);for(var k=0;k<textItem.Data.length;++k){var item=textItem.Data[k];if(item.Value=="TOP")y=top;else if(item.Value=="BOTTOM")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value);if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;if(item.Font)this.Canvas.font=item.Font;else this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(item.Text).width;this.Canvas.textAlign='center';if(x+textWidth/2>=right){this.Canvas.textAlign='right';x=right;}else if(x-textWidth/2<left){this.Canvas.textAlign='left';x=left;}if(item.Baseline==1)this.Canvas.textBaseline='top';else if(item.Baseline==2)this.Canvas.textBaseline='bottom';else this.Canvas.textBaseline='middle';if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Text,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove))y+=item.YMove;this.Canvas.fillText(item.Text,x,y);}if(item.Line){var kItem=this.Data.Data[item.Index];var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4274
4275
|
{yText-=item.Line.Offset[1];yPrice+=item.Line.Offset[0];}else if(yText<yPrice){yText+=item.Line.Offset[1];yPrice-=item.Line.Offset[0];}}this.Canvas.save();if(item.Line.Dash)this.Canvas.setLineDash(item.Line.Dash);//虚线
|
|
4275
4276
|
if(item.Line.Width>0)this.Canvas.lineWidth=item.Line.Width;//线宽
|
|
4276
|
-
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Texts)return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;var end=start+xPointCount;for(var i in this.Texts){var item=this.Texts[i];if(item.Index>=start&&item.Index<end){if(range.Max==null)range.Max=item.Value;else if(range.Max<item.Value)range.Max=item.Value;if(range.Min==null)range.Min=item.Value;else if(range.Min>item.Value)range.Min=item.Value;}}return range;};}// 图标集合 支持横屏
|
|
4277
|
+
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!this.Texts)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var mapText=this.GetShowTextData();if(mapText.size<=0)return;this.DrawAllText(mapText);};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Texts)return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;var end=start+xPointCount;for(var i in this.Texts){var item=this.Texts[i];if(item.Index>=start&&item.Index<end){if(range.Max==null)range.Max=item.Value;else if(range.Max<item.Value)range.Max=item.Value;if(range.Min==null)range.Min=item.Value;else if(range.Min>item.Value)range.Min=item.Value;}}return range;};}// 图标集合 支持横屏
|
|
4277
4278
|
function ChartMultiSVGIcon(){this.newMethod=IChartPainting;//派生
|
|
4278
4279
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiSVGIcon";this.Icon;//[ {Index:, Value:, Symbol:, Color:, Baseline:, Line:{ Color:, Dash:[虚线点], KData:"H/L", Offset:[5,10], Width:线粗细 } } ]
|
|
4279
4280
|
this.IconSize={Max:g_JSChartResource.DRAWICON.Icon.MaxSize,Min:g_JSChartResource.DRAWICON.Icon.MinSize,//图标的最大最小值
|
|
@@ -13028,7 +13029,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13028
13029
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
13029
13030
|
* 版本信息输出
|
|
13030
13031
|
*
|
|
13031
|
-
*/var HQCHART_VERSION="1.1.
|
|
13032
|
+
*/var HQCHART_VERSION="1.1.12835";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13032
13033
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13033
13034
|
// BaseIndex:BaseIndex,
|
|
13034
13035
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -35950,38 +35950,95 @@ function ChartMultiText()
|
|
|
35950
35950
|
this.Color=g_JSChartResource.DefaultTextColor;
|
|
35951
35951
|
this.IsHScreen=false; //是否横屏
|
|
35952
35952
|
|
|
35953
|
-
this.
|
|
35953
|
+
this.BuildKey=function(item)
|
|
35954
35954
|
{
|
|
35955
|
-
if (
|
|
35956
|
-
|
|
35957
|
-
|
|
35955
|
+
if (IFrameSplitOperator.IsNumber(item.Time))
|
|
35956
|
+
{
|
|
35957
|
+
var key=`${kItem.Date}-${item.Time}`;
|
|
35958
|
+
}
|
|
35959
|
+
else
|
|
35960
|
+
{
|
|
35961
|
+
var key=`${item.Date}`;
|
|
35962
|
+
}
|
|
35963
|
+
|
|
35964
|
+
return key;
|
|
35965
|
+
}
|
|
35958
35966
|
|
|
35959
|
-
|
|
35967
|
+
this.GetShowTextData=function()
|
|
35968
|
+
{
|
|
35960
35969
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
35961
35970
|
var offset=this.Data.DataOffset;
|
|
35962
|
-
var left=this.ChartBorder.GetLeft();
|
|
35963
|
-
var right=this.ChartBorder.GetRight();
|
|
35964
|
-
var top=this.ChartBorder.GetTopEx();
|
|
35965
|
-
var bottom=this.ChartBorder.GetBottomEx();
|
|
35966
35971
|
|
|
35967
|
-
|
|
35968
|
-
{
|
|
35969
|
-
left=this.ChartBorder.GetTop();
|
|
35970
|
-
right=this.ChartBorder.GetBottom();
|
|
35971
|
-
}
|
|
35972
|
-
|
|
35973
|
-
var y=0;
|
|
35972
|
+
var mapText=new Map(); //key='date-time' value={ Data:[] }
|
|
35974
35973
|
for(var i=0; i<this.Texts.length; ++i)
|
|
35975
35974
|
{
|
|
35976
35975
|
var item=this.Texts[i];
|
|
35977
|
-
|
|
35978
35976
|
if (!item.Text) continue;
|
|
35979
35977
|
if (!IFrameSplitOperator.IsNumber(item.Index)) continue;
|
|
35980
35978
|
|
|
35981
35979
|
var index=item.Index-offset;
|
|
35982
35980
|
if (index>=0 && index<xPointCount)
|
|
35983
35981
|
{
|
|
35984
|
-
var
|
|
35982
|
+
var key=this.BuildKey(item);
|
|
35983
|
+
if (mapText.has(key))
|
|
35984
|
+
{
|
|
35985
|
+
var textItem=mapText.get(key);
|
|
35986
|
+
textItem.Data.push(item);
|
|
35987
|
+
}
|
|
35988
|
+
else
|
|
35989
|
+
{
|
|
35990
|
+
var textItem={ Data:[item] };
|
|
35991
|
+
mapText.set(key, textItem);
|
|
35992
|
+
}
|
|
35993
|
+
}
|
|
35994
|
+
}
|
|
35995
|
+
|
|
35996
|
+
return mapText;
|
|
35997
|
+
}
|
|
35998
|
+
|
|
35999
|
+
this.DrawAllText=function(mapText)
|
|
36000
|
+
{
|
|
36001
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
36002
|
+
var isMinute=this.IsMinuteFrame();
|
|
36003
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
36004
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
36005
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
36006
|
+
|
|
36007
|
+
if (bHScreen)
|
|
36008
|
+
{
|
|
36009
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
36010
|
+
var chartright=border.BottomEx;
|
|
36011
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
36012
|
+
var left=this.ChartBorder.GetTop();
|
|
36013
|
+
var right=this.ChartBorder.GetBottom();
|
|
36014
|
+
}
|
|
36015
|
+
else
|
|
36016
|
+
{
|
|
36017
|
+
var border=this.ChartBorder.GetBorder();
|
|
36018
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
36019
|
+
var chartright=border.RightEx;
|
|
36020
|
+
var left=this.ChartBorder.GetLeft();
|
|
36021
|
+
var right=this.ChartBorder.GetRight();
|
|
36022
|
+
}
|
|
36023
|
+
|
|
36024
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
36025
|
+
{
|
|
36026
|
+
var kItem=this.Data.Data[i];
|
|
36027
|
+
if (!kItem) continue;
|
|
36028
|
+
|
|
36029
|
+
var key=this.BuildKey(kItem);
|
|
36030
|
+
if (!mapText.has(key)) continue;
|
|
36031
|
+
|
|
36032
|
+
var left=xOffset;
|
|
36033
|
+
var right=xOffset+dataWidth;
|
|
36034
|
+
if (right>chartright) break;
|
|
36035
|
+
var x=left+(right-left)/2;
|
|
36036
|
+
|
|
36037
|
+
var textItem=mapText.get(key);
|
|
36038
|
+
for(var k=0;k<textItem.Data.length;++k)
|
|
36039
|
+
{
|
|
36040
|
+
var item=textItem.Data[k];
|
|
36041
|
+
|
|
35985
36042
|
if (item.Value=="TOP") y=top;
|
|
35986
36043
|
else if (item.Value=="BOTTOM") y=bottom;
|
|
35987
36044
|
else y=this.ChartFrame.GetYFromData(item.Value);
|
|
@@ -36063,6 +36120,20 @@ function ChartMultiText()
|
|
|
36063
36120
|
}
|
|
36064
36121
|
}
|
|
36065
36122
|
|
|
36123
|
+
this.Draw=function()
|
|
36124
|
+
{
|
|
36125
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
36126
|
+
if (!this.Data || this.Data.length<=0) return;
|
|
36127
|
+
if (!this.Texts) return;
|
|
36128
|
+
|
|
36129
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
36130
|
+
|
|
36131
|
+
var mapText=this.GetShowTextData();
|
|
36132
|
+
if (mapText.size<=0) return;
|
|
36133
|
+
|
|
36134
|
+
this.DrawAllText(mapText);
|
|
36135
|
+
}
|
|
36136
|
+
|
|
36066
36137
|
this.GetMaxMin=function()
|
|
36067
36138
|
{
|
|
36068
36139
|
var range={ Min:null, Max:null };
|
|
@@ -40117,38 +40117,95 @@ function ChartMultiText()
|
|
|
40117
40117
|
this.Color=g_JSChartResource.DefaultTextColor;
|
|
40118
40118
|
this.IsHScreen=false; //是否横屏
|
|
40119
40119
|
|
|
40120
|
-
this.
|
|
40120
|
+
this.BuildKey=function(item)
|
|
40121
40121
|
{
|
|
40122
|
-
if (
|
|
40123
|
-
|
|
40124
|
-
|
|
40122
|
+
if (IFrameSplitOperator.IsNumber(item.Time))
|
|
40123
|
+
{
|
|
40124
|
+
var key=`${kItem.Date}-${item.Time}`;
|
|
40125
|
+
}
|
|
40126
|
+
else
|
|
40127
|
+
{
|
|
40128
|
+
var key=`${item.Date}`;
|
|
40129
|
+
}
|
|
40130
|
+
|
|
40131
|
+
return key;
|
|
40132
|
+
}
|
|
40125
40133
|
|
|
40126
|
-
|
|
40134
|
+
this.GetShowTextData=function()
|
|
40135
|
+
{
|
|
40127
40136
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
40128
40137
|
var offset=this.Data.DataOffset;
|
|
40129
|
-
var left=this.ChartBorder.GetLeft();
|
|
40130
|
-
var right=this.ChartBorder.GetRight();
|
|
40131
|
-
var top=this.ChartBorder.GetTopEx();
|
|
40132
|
-
var bottom=this.ChartBorder.GetBottomEx();
|
|
40133
|
-
|
|
40134
|
-
if (this.IsHScreen)
|
|
40135
|
-
{
|
|
40136
|
-
left=this.ChartBorder.GetTop();
|
|
40137
|
-
right=this.ChartBorder.GetBottom();
|
|
40138
|
-
}
|
|
40139
40138
|
|
|
40140
|
-
var
|
|
40139
|
+
var mapText=new Map(); //key='date-time' value={ Data:[] }
|
|
40141
40140
|
for(var i=0; i<this.Texts.length; ++i)
|
|
40142
40141
|
{
|
|
40143
40142
|
var item=this.Texts[i];
|
|
40144
|
-
|
|
40145
40143
|
if (!item.Text) continue;
|
|
40146
40144
|
if (!IFrameSplitOperator.IsNumber(item.Index)) continue;
|
|
40147
40145
|
|
|
40148
40146
|
var index=item.Index-offset;
|
|
40149
40147
|
if (index>=0 && index<xPointCount)
|
|
40150
40148
|
{
|
|
40151
|
-
var
|
|
40149
|
+
var key=this.BuildKey(item);
|
|
40150
|
+
if (mapText.has(key))
|
|
40151
|
+
{
|
|
40152
|
+
var textItem=mapText.get(key);
|
|
40153
|
+
textItem.Data.push(item);
|
|
40154
|
+
}
|
|
40155
|
+
else
|
|
40156
|
+
{
|
|
40157
|
+
var textItem={ Data:[item] };
|
|
40158
|
+
mapText.set(key, textItem);
|
|
40159
|
+
}
|
|
40160
|
+
}
|
|
40161
|
+
}
|
|
40162
|
+
|
|
40163
|
+
return mapText;
|
|
40164
|
+
}
|
|
40165
|
+
|
|
40166
|
+
this.DrawAllText=function(mapText)
|
|
40167
|
+
{
|
|
40168
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
40169
|
+
var isMinute=this.IsMinuteFrame();
|
|
40170
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
40171
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
40172
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
40173
|
+
|
|
40174
|
+
if (bHScreen)
|
|
40175
|
+
{
|
|
40176
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
40177
|
+
var chartright=border.BottomEx;
|
|
40178
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
40179
|
+
var left=this.ChartBorder.GetTop();
|
|
40180
|
+
var right=this.ChartBorder.GetBottom();
|
|
40181
|
+
}
|
|
40182
|
+
else
|
|
40183
|
+
{
|
|
40184
|
+
var border=this.ChartBorder.GetBorder();
|
|
40185
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
40186
|
+
var chartright=border.RightEx;
|
|
40187
|
+
var left=this.ChartBorder.GetLeft();
|
|
40188
|
+
var right=this.ChartBorder.GetRight();
|
|
40189
|
+
}
|
|
40190
|
+
|
|
40191
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
40192
|
+
{
|
|
40193
|
+
var kItem=this.Data.Data[i];
|
|
40194
|
+
if (!kItem) continue;
|
|
40195
|
+
|
|
40196
|
+
var key=this.BuildKey(kItem);
|
|
40197
|
+
if (!mapText.has(key)) continue;
|
|
40198
|
+
|
|
40199
|
+
var left=xOffset;
|
|
40200
|
+
var right=xOffset+dataWidth;
|
|
40201
|
+
if (right>chartright) break;
|
|
40202
|
+
var x=left+(right-left)/2;
|
|
40203
|
+
|
|
40204
|
+
var textItem=mapText.get(key);
|
|
40205
|
+
for(var k=0;k<textItem.Data.length;++k)
|
|
40206
|
+
{
|
|
40207
|
+
var item=textItem.Data[k];
|
|
40208
|
+
|
|
40152
40209
|
if (item.Value=="TOP") y=top;
|
|
40153
40210
|
else if (item.Value=="BOTTOM") y=bottom;
|
|
40154
40211
|
else y=this.ChartFrame.GetYFromData(item.Value);
|
|
@@ -40230,6 +40287,20 @@ function ChartMultiText()
|
|
|
40230
40287
|
}
|
|
40231
40288
|
}
|
|
40232
40289
|
|
|
40290
|
+
this.Draw=function()
|
|
40291
|
+
{
|
|
40292
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
40293
|
+
if (!this.Data || this.Data.length<=0) return;
|
|
40294
|
+
if (!this.Texts) return;
|
|
40295
|
+
|
|
40296
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
40297
|
+
|
|
40298
|
+
var mapText=this.GetShowTextData();
|
|
40299
|
+
if (mapText.size<=0) return;
|
|
40300
|
+
|
|
40301
|
+
this.DrawAllText(mapText);
|
|
40302
|
+
}
|
|
40303
|
+
|
|
40233
40304
|
this.GetMaxMin=function()
|
|
40234
40305
|
{
|
|
40235
40306
|
var range={ Min:null, Max:null };
|
|
@@ -131793,7 +131864,7 @@ function ScrollBarBGChart()
|
|
|
131793
131864
|
|
|
131794
131865
|
|
|
131795
131866
|
|
|
131796
|
-
var HQCHART_VERSION="1.1.
|
|
131867
|
+
var HQCHART_VERSION="1.1.12835";
|
|
131797
131868
|
|
|
131798
131869
|
function PrintHQChartVersion()
|
|
131799
131870
|
{
|
|
@@ -40161,38 +40161,95 @@ function ChartMultiText()
|
|
|
40161
40161
|
this.Color=g_JSChartResource.DefaultTextColor;
|
|
40162
40162
|
this.IsHScreen=false; //是否横屏
|
|
40163
40163
|
|
|
40164
|
-
this.
|
|
40164
|
+
this.BuildKey=function(item)
|
|
40165
40165
|
{
|
|
40166
|
-
if (
|
|
40167
|
-
|
|
40168
|
-
|
|
40166
|
+
if (IFrameSplitOperator.IsNumber(item.Time))
|
|
40167
|
+
{
|
|
40168
|
+
var key=`${kItem.Date}-${item.Time}`;
|
|
40169
|
+
}
|
|
40170
|
+
else
|
|
40171
|
+
{
|
|
40172
|
+
var key=`${item.Date}`;
|
|
40173
|
+
}
|
|
40174
|
+
|
|
40175
|
+
return key;
|
|
40176
|
+
}
|
|
40169
40177
|
|
|
40170
|
-
|
|
40178
|
+
this.GetShowTextData=function()
|
|
40179
|
+
{
|
|
40171
40180
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
40172
40181
|
var offset=this.Data.DataOffset;
|
|
40173
|
-
var left=this.ChartBorder.GetLeft();
|
|
40174
|
-
var right=this.ChartBorder.GetRight();
|
|
40175
|
-
var top=this.ChartBorder.GetTopEx();
|
|
40176
|
-
var bottom=this.ChartBorder.GetBottomEx();
|
|
40177
|
-
|
|
40178
|
-
if (this.IsHScreen)
|
|
40179
|
-
{
|
|
40180
|
-
left=this.ChartBorder.GetTop();
|
|
40181
|
-
right=this.ChartBorder.GetBottom();
|
|
40182
|
-
}
|
|
40183
40182
|
|
|
40184
|
-
var
|
|
40183
|
+
var mapText=new Map(); //key='date-time' value={ Data:[] }
|
|
40185
40184
|
for(var i=0; i<this.Texts.length; ++i)
|
|
40186
40185
|
{
|
|
40187
40186
|
var item=this.Texts[i];
|
|
40188
|
-
|
|
40189
40187
|
if (!item.Text) continue;
|
|
40190
40188
|
if (!IFrameSplitOperator.IsNumber(item.Index)) continue;
|
|
40191
40189
|
|
|
40192
40190
|
var index=item.Index-offset;
|
|
40193
40191
|
if (index>=0 && index<xPointCount)
|
|
40194
40192
|
{
|
|
40195
|
-
var
|
|
40193
|
+
var key=this.BuildKey(item);
|
|
40194
|
+
if (mapText.has(key))
|
|
40195
|
+
{
|
|
40196
|
+
var textItem=mapText.get(key);
|
|
40197
|
+
textItem.Data.push(item);
|
|
40198
|
+
}
|
|
40199
|
+
else
|
|
40200
|
+
{
|
|
40201
|
+
var textItem={ Data:[item] };
|
|
40202
|
+
mapText.set(key, textItem);
|
|
40203
|
+
}
|
|
40204
|
+
}
|
|
40205
|
+
}
|
|
40206
|
+
|
|
40207
|
+
return mapText;
|
|
40208
|
+
}
|
|
40209
|
+
|
|
40210
|
+
this.DrawAllText=function(mapText)
|
|
40211
|
+
{
|
|
40212
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
40213
|
+
var isMinute=this.IsMinuteFrame();
|
|
40214
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
40215
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
40216
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
40217
|
+
|
|
40218
|
+
if (bHScreen)
|
|
40219
|
+
{
|
|
40220
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
40221
|
+
var chartright=border.BottomEx;
|
|
40222
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
40223
|
+
var left=this.ChartBorder.GetTop();
|
|
40224
|
+
var right=this.ChartBorder.GetBottom();
|
|
40225
|
+
}
|
|
40226
|
+
else
|
|
40227
|
+
{
|
|
40228
|
+
var border=this.ChartBorder.GetBorder();
|
|
40229
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
40230
|
+
var chartright=border.RightEx;
|
|
40231
|
+
var left=this.ChartBorder.GetLeft();
|
|
40232
|
+
var right=this.ChartBorder.GetRight();
|
|
40233
|
+
}
|
|
40234
|
+
|
|
40235
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
40236
|
+
{
|
|
40237
|
+
var kItem=this.Data.Data[i];
|
|
40238
|
+
if (!kItem) continue;
|
|
40239
|
+
|
|
40240
|
+
var key=this.BuildKey(kItem);
|
|
40241
|
+
if (!mapText.has(key)) continue;
|
|
40242
|
+
|
|
40243
|
+
var left=xOffset;
|
|
40244
|
+
var right=xOffset+dataWidth;
|
|
40245
|
+
if (right>chartright) break;
|
|
40246
|
+
var x=left+(right-left)/2;
|
|
40247
|
+
|
|
40248
|
+
var textItem=mapText.get(key);
|
|
40249
|
+
for(var k=0;k<textItem.Data.length;++k)
|
|
40250
|
+
{
|
|
40251
|
+
var item=textItem.Data[k];
|
|
40252
|
+
|
|
40196
40253
|
if (item.Value=="TOP") y=top;
|
|
40197
40254
|
else if (item.Value=="BOTTOM") y=bottom;
|
|
40198
40255
|
else y=this.ChartFrame.GetYFromData(item.Value);
|
|
@@ -40274,6 +40331,20 @@ function ChartMultiText()
|
|
|
40274
40331
|
}
|
|
40275
40332
|
}
|
|
40276
40333
|
|
|
40334
|
+
this.Draw=function()
|
|
40335
|
+
{
|
|
40336
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
40337
|
+
if (!this.Data || this.Data.length<=0) return;
|
|
40338
|
+
if (!this.Texts) return;
|
|
40339
|
+
|
|
40340
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
40341
|
+
|
|
40342
|
+
var mapText=this.GetShowTextData();
|
|
40343
|
+
if (mapText.size<=0) return;
|
|
40344
|
+
|
|
40345
|
+
this.DrawAllText(mapText);
|
|
40346
|
+
}
|
|
40347
|
+
|
|
40277
40348
|
this.GetMaxMin=function()
|
|
40278
40349
|
{
|
|
40279
40350
|
var range={ Min:null, Max:null };
|
|
@@ -131951,7 +132022,7 @@ function HQChartScriptWorker()
|
|
|
131951
132022
|
|
|
131952
132023
|
|
|
131953
132024
|
|
|
131954
|
-
var HQCHART_VERSION="1.1.
|
|
132025
|
+
var HQCHART_VERSION="1.1.12835";
|
|
131955
132026
|
|
|
131956
132027
|
function PrintHQChartVersion()
|
|
131957
132028
|
{
|