CLineChart

绘制曲线的类。

描述

该类中包含的方法专为图表上的曲线而设计。它具有填充绘制曲线限定内的区域的能力。

下面提供图形上方的代码。

声明

   class CLineChart : public CChartCanvas

主题

   #include <Canvas\Charts\LineChart.mqh>
继承体系   CCanvas       CChartCanvas           CLineChart

类函数

方法 动作
Filled 设置填充数据序列定义曲线下的区域的标识。
Create 创建图形资源。                                      
SeriesAdd 添加新的数据序列。
SeriesInsert 插入数据序列到图表。
SeriesUpdate 更新图表上的数据序列。
SeriesDelete 从图表删除数据序列。
ValueUpdate 更新指定序列的指定值。
DrawChart 绘制曲线及其所有元素的虚拟方法。
DrawData 为指定序列绘制曲线的虚拟方法。
CalcArea 计算数据序列定义曲线下的区域。
方法继承自类 CCanvas CreateBitmap, CreateBitmap, CreateBitmapLabel, CreateBitmapLabel, Attach, Attach, Destroy, ChartObjectName, ResourceName, Width, Height, Update, Resize, Erase, PixelGet, PixelSet, LineVertical, LineHorizontal, Line, Polyline, Polygon, Rectangle, Triangle, Circle, Ellipse, Arc, Arc, Arc, Pie, Pie, FillRectangle, FillTriangle, FillPolygon, FillCircle, FillEllipse, Fill, Fill, PixelSetAA, LineAA, PolylineAA, PolygonAA, TriangleAA, CircleAA, EllipseAA, LineWu, PolylineWu, PolygonWu, TriangleWu, CircleWu, EllipseWu, LineThickVertical, LineThickHorizontal, LineThick, PolylineThick, PolygonThick, PolylineSmooth, PolygonSmooth, FontSet, FontNameSet, FontSizeSet, FontFlagsSet, FontAngleSet, FontGet, FontNameGet, FontSizeGet, FontFlagsGet, FontAngleGet, TextOut, TextWidth, TextHeight, TextSize, GetDefaultColor, TransparentLevelSet, LoadFromFile, LineStyleGet, LineStyleSet
方法继承自类 CChartCanvas ColorBackground, ColorBackground, ColorBorder, ColorBorder, ColorText, ColorText, ColorGrid, ColorGrid, MaxData, MaxData, MaxDescrLen, MaxDescrLen, AllowedShowFlags, ShowFlags, ShowFlags, IsShowLegend, IsShowScaleLeft, IsShowScaleRight, IsShowScaleTop, IsShowScaleBottom, IsShowGrid, IsShowDescriptors, IsShowPercent, ShowLegend, ShowScaleLeft, ShowScaleRight, ShowScaleTop, ShowScaleBottom, ShowGrid, ShowDescriptors, ShowValue, ShowPercent, LegendAlignment, Accumulative, VScaleMin, VScaleMin, VScaleMax, VScaleMax, NumGrid, NumGrid, VScaleParams, DataOffset, DataOffset, DataTotal, DescriptorUpdate, ColorUpdate

示例

//+------------------------------------------------------------------+

//|                                              LineChartSample.mq5 |

//|                   Copyright 2009-2017, MetaQuotes Software Corp. |

//|                                              http://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright   "2009-2017, MetaQuotes Software Corp."

#property link        "http://www.mql5.com"

#property description "Example of using line chart"

//---

#include <Canvas\Charts\LineChart.mqh>

//+------------------------------------------------------------------+

//| 输入                                                              |

//+------------------------------------------------------------------+

input bool Accumulative=false;

//+------------------------------------------------------------------+

//| 脚本程序起始函数                                                    |

//+------------------------------------------------------------------+

int OnStart(void)

  {

   int k=100;

   double arr[10];

//--- 创建图表

   CLineChart chart;

//--- 创建图表

   if(!chart.CreateBitmapLabel("SampleHistogrammChart",10,10,600,450))

     {

      Print("Error creating line chart: ",GetLastError());

      return(-1);

     }

   if(Accumulative)

     {

      chart.Accumulative();

      chart.VScaleParams(20*k*10,-10*k*10,20);

     }

   else

      chart.VScaleParams(20*k,-10*k,15);

   chart.ShowScaleTop(false);

   chart.ShowScaleRight(false);

   chart.ShowLegend();

   chart.Filled();

   for(int j=0;j<5;j++)

     {

      for(int i=0;i<10;i++)

        {

         k=-k;

         if(k>0)

            arr[i]=k*(i+10-j);

         else

            arr[i]=k*(i+10-j)/2;

        }

      chart.SeriesAdd(arr,"Item"+IntegerToString(j));

     }

//--- 使用值

   while(!IsStopped())

     {

      int i=rand()%5;

      int j=rand()%10;

      k=rand()%3000-1000;

      chart.ValueUpdate(i,j,k);

      Sleep(200);

     }

//--- 完成

   chart.Destroy();

   return(0);

  }