CLineChart

曲線をプロットするためのクラス

説明

このクラスに含まれるメソッドは、チャートの曲線を操作するために設計されています。それは、プロットされた曲線によって制限された領域を満たす能力を特徴とします。

ccanvas_linechart

上の図のコ—ドはにあります。

宣言

  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>
//+------------------------------------------------------------------+
//| inputs                                                           |
//+------------------------------------------------------------------+
input bool Accumulative=false;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
 {
  int k=100;
  double arr[10];
//--- チャートを作成する
  CLineChart chart;
//--- create 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));
    }
//--- play with values
  while(!IsStopped())
    {
    int i=rand()%5;
    int j=rand()%10;
     k=rand()%3000-1000;
     chart.ValueUpdate(i,j,k);
    Sleep(200);
    }
//--- finish
  chart.Destroy();
  return(0);
 }