hqchart 1.1.13436 → 1.1.13445
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
|
@@ -2227,8 +2227,10 @@ if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.
|
|
|
2227
2227
|
if(rightExtendLine&&rightExtendLine.Width>1){var lineLength=rightExtendLine.Width;if(rightExtendLine.Color)this.Canvas.strokeStyle=rightExtendLine.Color;else this.Canvas.strokeStyle=item.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xText,yFixed);this.Canvas.lineTo(xText+lineLength,yFixed);this.Canvas.stroke();xText+=lineLength+2;}this.Canvas.textAlign="left";if(Array.isArray(item.Message[1])){if(this.MultiTextFormat==1)//显示1行 格式:价格/百分比
|
|
2228
2228
|
{if(item.ExtendData){if(item.ExtendData.Font)this.Canvas.font=item.ExtendData.Font;}var textData={Text:[{Text:item.Message[1][0],Width:this.Canvas.measureText(item.Message[1][0]).width},{Text:item.Message[1][1],Width:this.Canvas.measureText(item.Message[1][1]).width}],X:xText+2,Y:yText,TextBaseline:this.Canvas.textBaseline,Item:item};aryMultiText.push(textData);}else if(this.MultiTextFormat==2)//显示2行
|
|
2229
2229
|
{this.Canvas.fillText(item.Message[1][0],xText+this.YTextPadding[1],yText);var lineHeight=this.Canvas.measureText('M').width;if(itemHeight>lineHeight*2)this.Canvas.fillText(item.Message[1][1],xText+this.YTextPadding[1],yText+lineHeight);}else if(this.MultiTextFormat==3){var obj={Data:item.Message[1],X:xText,Y:yText,TextBaseLine:textBaseline,IsLeft:false,Item:item,TextPadding:this.YTextPadding[1]};this.DrawMultiLineText(obj);}else//显示第1行
|
|
2230
|
-
{
|
|
2231
|
-
|
|
2230
|
+
{var text=item.Message[1][0];if(item.TextColor2)this.Canvas.fillStyle=item.TextColor2;if(rightExtendText&&rightExtendText.Align===2&&this.YRightTextInfo)//右对齐
|
|
2231
|
+
{this.Canvas.textAlign="right";var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];this.Canvas.fillText(text,xRight,yText);}else{this.Canvas.fillText(text,xText+this.YTextPadding[1],yText);}}}else{//计算显示的区域
|
|
2232
|
+
rtRight=this.GetTextTopBottom(textBaseline,yText);if(!rtPreRight||rtRight&&!this.IsTextTopBottomOverlap(rtRight,rtPreRight)){if(item.TextColor2)this.Canvas.fillStyle=item.TextColor2;if(rightExtendText&&rightExtendText.Align===2&&this.YRightTextInfo)//右对齐
|
|
2233
|
+
{this.Canvas.textAlign="right";var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];this.Canvas.fillText(item.Message[1],xRight,yText);}else{this.Canvas.fillText(item.Message[1],xText+this.YTextPadding[1],yText);}rtPreRight=rtRight;}}}yPrev=y;}if(IFrameSplitOperator.IsNonEmptyArray(aryMultiText)&&this.MultiTextFormat==1)this.DrawHorizontalMuText(aryMultiText);if(isDrawRight&&this.IsDrawRightBorder&&this.YRightTextInfo){var xRight=this.YRightTextInfo.MainTextWidth+right;xLine=ToFixedPoint(xRight);this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(xLine,top);this.Canvas.lineTo(xLine,bottom);this.Canvas.stroke();if(IFrameSplitOperator.IsNonEmptyArray(this.YRightTextInfo.AryOverlayWidth)){this.Canvas.beginPath();for(var i=0;i<this.YRightTextInfo.AryOverlayWidth.length;++i){var width=this.YRightTextInfo.AryOverlayWidth[i];xRight+=width;xLine=ToFixedPoint(xRight);this.Canvas.moveTo(xLine,top);this.Canvas.lineTo(xLine,bottom);}this.Canvas.stroke();}}};//多行文字刻度输出 obj={ Data:, X:, Y:, TextBaseLine:, IsLeft:, Item:刻度数据 }
|
|
2232
2234
|
this.DrawMultiLineText=function(obj){var lineSpacing=2;var lineHeight=this.Canvas.measureText('擎').width;var lineCount=obj.Data.length;var textHeight=lineHeight*lineCount+lineSpacing*(lineCount-1);var yText=obj.Y;if(obj.Item.Font!=null)this.Canvas.font=obj.Item.Font;if(obj.IsLeft){this.Canvas.textAlign="right";var xText=obj.X-obj.TextPadding;}else{this.Canvas.textAlign="left";var xText=obj.X+obj.TextPadding;}var textBaseline=this.Canvas.textBaseline;//备份下原来的对齐方式
|
|
2233
2235
|
this.Canvas.textBaseline='top';if(obj.TextBaseLine==1)//middle
|
|
2234
2236
|
{yText-=textHeight/2;}else if(obj.TextBaseLine==0)//top
|
|
@@ -2248,13 +2250,13 @@ var yInsideText=null;for(var i=this.HorizontalInfo.length-1;i>=0;--i)//从上往
|
|
|
2248
2250
|
if(item.Message[0]!=null&&isDrawLeft){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="left";var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';}else if(y<=top+2){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;}else{if(this.YTextBaseline==1)this.Canvas.textBaseline="bottom";else this.Canvas.textBaseline="middle";}var textObj={X:left,Y:yText,Text:{BaseLine:this.Canvas.textBaseline,TextAlign:this.Canvas.textAlign,Font:this.Canvas.font,Value:item.Message[0]}};if(!this.IsOverlayMaxMin||!this.IsOverlayMaxMin(textObj)){this.Canvas.fillText(item.Message[0],left+1*pixelTatio,yText);if(yInsideText==null||yInsideText>yText){this.YInsideOffset=this.Canvas.measureText(item.Message[0]).width+4*GetDevicePixelRatio();yInsideText=yText;}}}if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="right";var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';}else if(y<=top+2){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;}else{if(this.YTextBaseline==1)this.Canvas.textBaseline="bottom";else this.Canvas.textBaseline="middle";}if(Array.isArray(item.Message[1]))var text=item.Message[1][0];else var text=item.Message[1];var textWidth=this.Canvas.measureText(text).width;var textObj={X:right-textWidth,Y:yText,Text:{BaseLine:this.Canvas.textBaseline,TextAlign:this.Canvas.textAlign,Font:this.Canvas.font,Value:item.Message[1]}};if(!this.IsOverlayMaxMin||!this.IsOverlayMaxMin(textObj))this.Canvas.fillText(text,right-1*pixelTatio,yText);}yPrev=y;}}};this.GetXFromIndex=function(index){var count=this.XPointCount;if(count==1){if(index==0)return this.ChartBorder.GetLeft();else return this.ChartBorder.GetRight();}else if(count<=0){return this.ChartBorder.GetLeft();}else if(index>=count){return this.ChartBorder.GetRight();}else{var offset=this.ChartBorder.GetLeft()+this.ChartBorder.GetWidth()*index/count;return offset;}};//画X轴
|
|
2249
2251
|
this.DrawVertical=function(){var border=this.GetBorder();var top=border.TopTitle;var bottom=border.Bottom;var right=border.RightEx;var pixelRatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
2250
2252
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
2251
|
-
if(this.ChartBorder.Bottom<=5*GetDevicePixelRatio())return
|
|
2253
|
+
//if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
2252
2254
|
var mapX=null;if(this.GetVerticalXCache)mapX=this.GetVerticalXCache();var bottomTextExtend=null;if(this.XTextExtend){bottomTextExtend=this.XTextExtend[0];}var bottomLineExtend=null;if(this.XLineExtend){bottomLineExtend=this.XLineExtend[0];}var xPrev=null;//上一个坐标x的值
|
|
2253
2255
|
var textRightPrev=null;//上一次刻度输出右边x坐标
|
|
2254
2256
|
for(var i=0;i<this.VerticalInfo.length;++i){var item=this.VerticalInfo[i];var x=null;if(mapX&&mapX.has(item.Value))x=mapX.get(item.Value);else x=this.GetXFromIndex(item.Value);if(x>right)break;if(xPrev!=null&&Math.abs(x-xPrev)<this.MinXDistance)continue;var item=this.VerticalInfo[i];var xFixed=ToFixedPoint(x);if(this.IsShowXLine){if(item.LineType==2)//虚线
|
|
2255
2257
|
{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;if(item.LineDash)this.Canvas.setLineDash(item.LineDash);else this.Canvas.setLineDash([5*pixelRatio,5*pixelRatio]);this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else if(item.LineType==3){}else if(item.LineType>0)//实线
|
|
2256
2258
|
{if(g_JSChartResource.FrameXLineDash){this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.setLineDash(g_JSChartResource.FrameXLineDash);//虚线
|
|
2257
|
-
this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();}}}if(item.BG&&this.DrawDayVertical){this.DrawDayVertical(item,x,border);}if(this.VerticalInfo[i].Message[0]!=null){if(this.VerticalInfo[i].Font)this.Canvas.font=this.VerticalInfo[i].Font;var textLeft=0;this.Canvas.strokeStyle=item.TextColor;var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;var textHeight=this.Canvas.measureText("擎").width;if(bottomTextExtend&&bottomTextExtend.Align==1){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else{if(x<testWidth/2){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else if(x+testWidth/2>=this.ChartBorder.GetChartWidth()){this.Canvas.textAlign="right";this.Canvas.textBaseline="top";textLeft=x-testWidth;}else{this.Canvas.textAlign="center";this.Canvas.textBaseline="top";textLeft=x-testWidth/2;}}if(textRightPrev==null||textLeft>textRightPrev){var yText=bottom;if(item.LineType==3){var lineLength=this.ShortXLineLength*pixelRatio;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2*pixelRatio;}if(bottomLineExtend){if(bottomLineExtend.Mode===1){if(item.Value>1){if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,bottom);this.Canvas.lineTo(xFixed,border.ChartHeight);this.Canvas.stroke();x+=1;}}else if(bottomLineExtend.Mode===2){if(bottomLineExtend.Width>=1){var lineLength=bottomLineExtend.Width;if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2;}}}//item.TextBGColor="rgb(0,255,0)";
|
|
2259
|
+
this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();}}}if(item.BG&&this.DrawDayVertical){this.DrawDayVertical(item,x,border);}if(this.VerticalInfo[i].Message[0]!=null&&this.ChartBorder.Bottom>5*pixelRatio){if(this.VerticalInfo[i].Font)this.Canvas.font=this.VerticalInfo[i].Font;var textLeft=0;this.Canvas.strokeStyle=item.TextColor;var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;var textHeight=this.Canvas.measureText("擎").width;if(bottomTextExtend&&bottomTextExtend.Align==1){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else{if(x<testWidth/2){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else if(x+testWidth/2>=this.ChartBorder.GetChartWidth()){this.Canvas.textAlign="right";this.Canvas.textBaseline="top";textLeft=x-testWidth;}else{this.Canvas.textAlign="center";this.Canvas.textBaseline="top";textLeft=x-testWidth/2;}}if(textRightPrev==null||textLeft>textRightPrev){var yText=bottom;if(item.LineType==3){var lineLength=this.ShortXLineLength*pixelRatio;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2*pixelRatio;}if(bottomLineExtend){if(bottomLineExtend.Mode===1){if(item.Value>1){if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,bottom);this.Canvas.lineTo(xFixed,border.ChartHeight);this.Canvas.stroke();x+=1;}}else if(bottomLineExtend.Mode===2){if(bottomLineExtend.Width>=1){var lineLength=bottomLineExtend.Width;if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2;}}}//item.TextBGColor="rgb(0,255,0)";
|
|
2258
2260
|
if(item.TextBGColor)//文字背景色
|
|
2259
2261
|
{var rtText={Left:textLeft,Top:yText+this.XBottomOffset,Width:testWidth,Height:textHeight};this.Canvas.fillStyle=item.TextBGColor;this.Canvas.fillRect(rtText.Left-1,rtText.Top,rtText.Width+2,rtText.Height);}this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(this.VerticalInfo[i].Message[0],x,yText+this.XBottomOffset);textRightPrev=textLeft+testWidth;}}xPrev=x;}};//Y坐标转y轴数值
|
|
2260
2262
|
this.GetYData=function(y,isLimit){if(this.Logarithmic&&this.GetYLogarithmicFromData){return this.GetYLogarithmicData(y);}if(this.CoordinateType==1)//反转坐标
|
|
@@ -3766,12 +3768,12 @@ function ChartVolStick(){this.newMethod=IChartPainting;//派生
|
|
|
3766
3768
|
this.newMethod();delete this.newMethod;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.HistoryData;//历史数据
|
|
3767
3769
|
this.KLineDrawType=0;this.ClassName='ChartVolStick';this.BarWidth;//固定宽度 目前只支持宽度为1
|
|
3768
3770
|
this.BarType;//柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
|
|
3769
|
-
this.PtInChart=this.PtInBar;this.DrawSelectedStatus=this.DrawLinePoint;this.ExportData=this.ExportArrayData;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.ChartFrame.IsHScreen===true){this.HScreenDraw();return;}var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4&&!(this.BarWidth===1)){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;if(value==0)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;var height=ToFixedRect(Math.abs(yBottom-y)>=1?yBottom-y:1);//高度调整为整数, 如果小于1, 统一使用1
|
|
3771
|
+
this.PtInChart=this.PtInBar;this.DrawSelectedStatus=this.DrawLinePoint;this.ExportData=this.ExportArrayData;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.ChartFrame.IsHScreen===true){this.HScreenDraw();return;}var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);this.Canvas.save();if(dataWidth>=4&&!(this.BarWidth===1)){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;if(value==0)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;var height=ToFixedRect(Math.abs(yBottom-y)>=1?yBottom-y:1);//高度调整为整数, 如果小于1, 统一使用1
|
|
3770
3772
|
y=yBottom-height;var bSolidBar=this.IsSolidBar(bUp);//实心柱子
|
|
3771
3773
|
if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(ToFixedRect(left),y,ToFixedRect(dataWidth),height);}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),height);this.Canvas.stroke();}}}else//太细了直接话线
|
|
3772
|
-
{var preKItem=null;var barColor=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartright)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
3774
|
+
{var preKItem=null;var barColor=null;this.Canvas.linewidth=1*GetDevicePixelRatio();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartright)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
3773
3775
|
else barColor=this.GetBarColor(kItem);this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3774
|
-
this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);this.Canvas.stroke();preKItem=kItem;}}};this.HScreenDraw=function()//横屏画法
|
|
3776
|
+
this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);this.Canvas.stroke();preKItem=kItem;}}this.Canvas.restore();};this.HScreenDraw=function()//横屏画法
|
|
3775
3777
|
{var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartBottom=border.BottomEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartBottom=lockRect.Top;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartBottom)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;var height=ToFixedRect(y-yBottom);//高度调整为整数
|
|
3776
3778
|
var bSolidBar=this.IsSolidBar(bUp);//实心柱子
|
|
3777
3779
|
if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}}}else//太细了直接话线
|
|
@@ -13189,7 +13191,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13189
13191
|
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);};}/********************************************************************************
|
|
13190
13192
|
* 版本信息输出
|
|
13191
13193
|
*
|
|
13192
|
-
*/var HQCHART_VERSION="1.1.
|
|
13194
|
+
*/var HQCHART_VERSION="1.1.13444";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13193
13195
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13194
13196
|
// BaseIndex:BaseIndex,
|
|
13195
13197
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -11215,7 +11215,19 @@ function AverageWidthFrame()
|
|
|
11215
11215
|
}
|
|
11216
11216
|
else //显示第1行
|
|
11217
11217
|
{
|
|
11218
|
-
|
|
11218
|
+
var text=item.Message[1][0];
|
|
11219
|
+
|
|
11220
|
+
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
11221
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
11222
|
+
{
|
|
11223
|
+
this.Canvas.textAlign="right";
|
|
11224
|
+
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
11225
|
+
this.Canvas.fillText(text,xRight,yText);
|
|
11226
|
+
}
|
|
11227
|
+
else
|
|
11228
|
+
{
|
|
11229
|
+
this.Canvas.fillText(text,xText+this.YTextPadding[1],yText);
|
|
11230
|
+
}
|
|
11219
11231
|
}
|
|
11220
11232
|
}
|
|
11221
11233
|
else
|
|
@@ -11225,7 +11237,7 @@ function AverageWidthFrame()
|
|
|
11225
11237
|
if (!rtPreRight || (rtRight && !this.IsTextTopBottomOverlap(rtRight,rtPreRight)))
|
|
11226
11238
|
{
|
|
11227
11239
|
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
11228
|
-
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo)
|
|
11240
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
11229
11241
|
{
|
|
11230
11242
|
this.Canvas.textAlign="right";
|
|
11231
11243
|
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
@@ -11641,7 +11653,7 @@ function AverageWidthFrame()
|
|
|
11641
11653
|
var right=border.RightEx;
|
|
11642
11654
|
var pixelRatio = GetDevicePixelRatio(); //获取设备的分辨率
|
|
11643
11655
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
11644
|
-
if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
11656
|
+
//if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
11645
11657
|
|
|
11646
11658
|
var mapX=null;
|
|
11647
11659
|
if (this.GetVerticalXCache) mapX=this.GetVerticalXCache();
|
|
@@ -11716,7 +11728,7 @@ function AverageWidthFrame()
|
|
|
11716
11728
|
this.DrawDayVertical(item, x, border);
|
|
11717
11729
|
}
|
|
11718
11730
|
|
|
11719
|
-
if (this.VerticalInfo[i].Message[0]!=null)
|
|
11731
|
+
if (this.VerticalInfo[i].Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
11720
11732
|
{
|
|
11721
11733
|
if (this.VerticalInfo[i].Font) this.Canvas.font=this.VerticalInfo[i].Font;
|
|
11722
11734
|
|
|
@@ -31966,6 +31978,8 @@ function ChartVolStick()
|
|
|
31966
31978
|
|
|
31967
31979
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
31968
31980
|
|
|
31981
|
+
this.Canvas.save();
|
|
31982
|
+
|
|
31969
31983
|
if (dataWidth>=4 && !(this.BarWidth===1))
|
|
31970
31984
|
{
|
|
31971
31985
|
yBottom=ToFixedRect(yBottom);
|
|
@@ -32007,6 +32021,7 @@ function ChartVolStick()
|
|
|
32007
32021
|
{
|
|
32008
32022
|
var preKItem=null;
|
|
32009
32023
|
var barColor=null;
|
|
32024
|
+
this.Canvas.linewidth=1*GetDevicePixelRatio();
|
|
32010
32025
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
32011
32026
|
{
|
|
32012
32027
|
var value=this.Data.Data[i];
|
|
@@ -32041,6 +32056,8 @@ function ChartVolStick()
|
|
|
32041
32056
|
preKItem=kItem;
|
|
32042
32057
|
}
|
|
32043
32058
|
}
|
|
32059
|
+
|
|
32060
|
+
this.Canvas.restore();
|
|
32044
32061
|
}
|
|
32045
32062
|
|
|
32046
32063
|
this.HScreenDraw=function() //横屏画法
|
|
@@ -15140,7 +15140,19 @@ function AverageWidthFrame()
|
|
|
15140
15140
|
}
|
|
15141
15141
|
else //显示第1行
|
|
15142
15142
|
{
|
|
15143
|
-
|
|
15143
|
+
var text=item.Message[1][0];
|
|
15144
|
+
|
|
15145
|
+
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
15146
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
15147
|
+
{
|
|
15148
|
+
this.Canvas.textAlign="right";
|
|
15149
|
+
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
15150
|
+
this.Canvas.fillText(text,xRight,yText);
|
|
15151
|
+
}
|
|
15152
|
+
else
|
|
15153
|
+
{
|
|
15154
|
+
this.Canvas.fillText(text,xText+this.YTextPadding[1],yText);
|
|
15155
|
+
}
|
|
15144
15156
|
}
|
|
15145
15157
|
}
|
|
15146
15158
|
else
|
|
@@ -15150,7 +15162,7 @@ function AverageWidthFrame()
|
|
|
15150
15162
|
if (!rtPreRight || (rtRight && !this.IsTextTopBottomOverlap(rtRight,rtPreRight)))
|
|
15151
15163
|
{
|
|
15152
15164
|
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
15153
|
-
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo)
|
|
15165
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
15154
15166
|
{
|
|
15155
15167
|
this.Canvas.textAlign="right";
|
|
15156
15168
|
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
@@ -15566,7 +15578,7 @@ function AverageWidthFrame()
|
|
|
15566
15578
|
var right=border.RightEx;
|
|
15567
15579
|
var pixelRatio = GetDevicePixelRatio(); //获取设备的分辨率
|
|
15568
15580
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
15569
|
-
if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
15581
|
+
//if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
15570
15582
|
|
|
15571
15583
|
var mapX=null;
|
|
15572
15584
|
if (this.GetVerticalXCache) mapX=this.GetVerticalXCache();
|
|
@@ -15641,7 +15653,7 @@ function AverageWidthFrame()
|
|
|
15641
15653
|
this.DrawDayVertical(item, x, border);
|
|
15642
15654
|
}
|
|
15643
15655
|
|
|
15644
|
-
if (this.VerticalInfo[i].Message[0]!=null)
|
|
15656
|
+
if (this.VerticalInfo[i].Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
15645
15657
|
{
|
|
15646
15658
|
if (this.VerticalInfo[i].Font) this.Canvas.font=this.VerticalInfo[i].Font;
|
|
15647
15659
|
|
|
@@ -35891,6 +35903,8 @@ function ChartVolStick()
|
|
|
35891
35903
|
|
|
35892
35904
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
35893
35905
|
|
|
35906
|
+
this.Canvas.save();
|
|
35907
|
+
|
|
35894
35908
|
if (dataWidth>=4 && !(this.BarWidth===1))
|
|
35895
35909
|
{
|
|
35896
35910
|
yBottom=ToFixedRect(yBottom);
|
|
@@ -35932,6 +35946,7 @@ function ChartVolStick()
|
|
|
35932
35946
|
{
|
|
35933
35947
|
var preKItem=null;
|
|
35934
35948
|
var barColor=null;
|
|
35949
|
+
this.Canvas.linewidth=1*GetDevicePixelRatio();
|
|
35935
35950
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
35936
35951
|
{
|
|
35937
35952
|
var value=this.Data.Data[i];
|
|
@@ -35966,6 +35981,8 @@ function ChartVolStick()
|
|
|
35966
35981
|
preKItem=kItem;
|
|
35967
35982
|
}
|
|
35968
35983
|
}
|
|
35984
|
+
|
|
35985
|
+
this.Canvas.restore();
|
|
35969
35986
|
}
|
|
35970
35987
|
|
|
35971
35988
|
this.HScreenDraw=function() //横屏画法
|
|
@@ -134185,7 +134202,7 @@ function ScrollBarBGChart()
|
|
|
134185
134202
|
|
|
134186
134203
|
|
|
134187
134204
|
|
|
134188
|
-
var HQCHART_VERSION="1.1.
|
|
134205
|
+
var HQCHART_VERSION="1.1.13444";
|
|
134189
134206
|
|
|
134190
134207
|
function PrintHQChartVersion()
|
|
134191
134208
|
{
|
|
@@ -15184,7 +15184,19 @@ function AverageWidthFrame()
|
|
|
15184
15184
|
}
|
|
15185
15185
|
else //显示第1行
|
|
15186
15186
|
{
|
|
15187
|
-
|
|
15187
|
+
var text=item.Message[1][0];
|
|
15188
|
+
|
|
15189
|
+
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
15190
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
15191
|
+
{
|
|
15192
|
+
this.Canvas.textAlign="right";
|
|
15193
|
+
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
15194
|
+
this.Canvas.fillText(text,xRight,yText);
|
|
15195
|
+
}
|
|
15196
|
+
else
|
|
15197
|
+
{
|
|
15198
|
+
this.Canvas.fillText(text,xText+this.YTextPadding[1],yText);
|
|
15199
|
+
}
|
|
15188
15200
|
}
|
|
15189
15201
|
}
|
|
15190
15202
|
else
|
|
@@ -15194,7 +15206,7 @@ function AverageWidthFrame()
|
|
|
15194
15206
|
if (!rtPreRight || (rtRight && !this.IsTextTopBottomOverlap(rtRight,rtPreRight)))
|
|
15195
15207
|
{
|
|
15196
15208
|
if (item.TextColor2) this.Canvas.fillStyle=item.TextColor2;
|
|
15197
|
-
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo)
|
|
15209
|
+
if (rightExtendText && rightExtendText.Align===2 && this.YRightTextInfo) //右对齐
|
|
15198
15210
|
{
|
|
15199
15211
|
this.Canvas.textAlign="right";
|
|
15200
15212
|
var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];
|
|
@@ -15610,7 +15622,7 @@ function AverageWidthFrame()
|
|
|
15610
15622
|
var right=border.RightEx;
|
|
15611
15623
|
var pixelRatio = GetDevicePixelRatio(); //获取设备的分辨率
|
|
15612
15624
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
15613
|
-
if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
15625
|
+
//if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
15614
15626
|
|
|
15615
15627
|
var mapX=null;
|
|
15616
15628
|
if (this.GetVerticalXCache) mapX=this.GetVerticalXCache();
|
|
@@ -15685,7 +15697,7 @@ function AverageWidthFrame()
|
|
|
15685
15697
|
this.DrawDayVertical(item, x, border);
|
|
15686
15698
|
}
|
|
15687
15699
|
|
|
15688
|
-
if (this.VerticalInfo[i].Message[0]!=null)
|
|
15700
|
+
if (this.VerticalInfo[i].Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
15689
15701
|
{
|
|
15690
15702
|
if (this.VerticalInfo[i].Font) this.Canvas.font=this.VerticalInfo[i].Font;
|
|
15691
15703
|
|
|
@@ -35935,6 +35947,8 @@ function ChartVolStick()
|
|
|
35935
35947
|
|
|
35936
35948
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
35937
35949
|
|
|
35950
|
+
this.Canvas.save();
|
|
35951
|
+
|
|
35938
35952
|
if (dataWidth>=4 && !(this.BarWidth===1))
|
|
35939
35953
|
{
|
|
35940
35954
|
yBottom=ToFixedRect(yBottom);
|
|
@@ -35976,6 +35990,7 @@ function ChartVolStick()
|
|
|
35976
35990
|
{
|
|
35977
35991
|
var preKItem=null;
|
|
35978
35992
|
var barColor=null;
|
|
35993
|
+
this.Canvas.linewidth=1*GetDevicePixelRatio();
|
|
35979
35994
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
35980
35995
|
{
|
|
35981
35996
|
var value=this.Data.Data[i];
|
|
@@ -36010,6 +36025,8 @@ function ChartVolStick()
|
|
|
36010
36025
|
preKItem=kItem;
|
|
36011
36026
|
}
|
|
36012
36027
|
}
|
|
36028
|
+
|
|
36029
|
+
this.Canvas.restore();
|
|
36013
36030
|
}
|
|
36014
36031
|
|
|
36015
36032
|
this.HScreenDraw=function() //横屏画法
|
|
@@ -138126,7 +138143,7 @@ function HQChartScriptWorker()
|
|
|
138126
138143
|
|
|
138127
138144
|
|
|
138128
138145
|
|
|
138129
|
-
var HQCHART_VERSION="1.1.
|
|
138146
|
+
var HQCHART_VERSION="1.1.13444";
|
|
138130
138147
|
|
|
138131
138148
|
function PrintHQChartVersion()
|
|
138132
138149
|
{
|