CHistogramChart

Histogram çizimi için tasarlanmıştır.

Açıklama

Histogram çizimi için kullanılan tüm yöntemler bu sınıfta yer alır. Bunlar verileri ve çubuk kalınlığını ayarlamak için kullanılabilir. Ayrıca verilerin daha iyi görüntülenebilmesi için desenli desenli çubuk dolguları da yöntemlere eklenmiştir.

ccanvas_histogramchart

Yukarıdaki şekli oluşturmak için kullanılan kod aşağıda paylaşılmıştır.

Bildirim

   class CHistogramChart : public CChartCanvas

Başlık

   #include <Canvas\Charts\HistogramChart.mqh>

 

Kalıtım hiyerarşisi

  CCanvas

      CChartCanvas

          CHistogramChart

Sınıf yöntemleri

Yöntem

Eylem

Gradient

Histogram çubukları için desenli dolgunun uygulanma durumunu gösteren bayrağı ayarlar.

BarGap

Histogramın orjine göre girintisini ayarlar.

BarMinSize

Histogram çubuklarının en küçük genişliğini ayarlar.

BarBorder

Histogram çubuklarına kenarlık çizilip çizilmeyeceğini gösteren bayrağı ayarlar.

Create

Grafiksel kaynağı oluşturan sanal yöntem.                                      

SeriesAdd

Yeni veri serisi ekler.

SeriesInsert

Çizelgeye veri serileri ekler.

SeriesUpdate

Çizelgedeki veri serilerini günceller.

SeriesDelete

Çizelgedeki veri serilerini siler.

ValueUpdate

Belirtilen serideki bileşenin değerini günceller.

DrawData

Belli bir seri için histogram oluşturan sanal yöntem.

DrawBar

Histogram çubuklarını dolgulu dikdörtgen şeklinde çizer.

GradientBrush

Desenli dolgu için bir fırça seçer.                                    

CCanvas sınıfından türetilen yöntemler

Create, 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 sınıfından türetilen yöntemler

Create, 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

Örnek

//+------------------------------------------------------------------+
//|                                         HistogramChartSample.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 "Histogram kullanımına örnek"
//---
#include <Canvas\Charts\HistogramChart.mqh>
//+------------------------------------------------------------------+
//| inputs                                                           |
//+------------------------------------------------------------------+
input bool Accumulative=true;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
  {
   int k=100;
   double arr[10];
//--- çizelge oluştur
   CHistogramChart chart;
   if(!chart.CreateBitmapLabel("SampleHistogramChart",10,10,600,450))
     {
      Print("Hata, histogram oluşturulamadı: ",GetLastError());
      return(-1);
     }
   if(Accumulative)
     {
      chart.Accumulative();
      chart.VScaleParams(20*k*10,-10*k*10,20);
     }
   else
      chart.VScaleParams(20*k,-10*k,20);
   chart.ShowValue(true);
   chart.ShowScaleTop(false);
   chart.ShowScaleBottom(false);
   chart.ShowScaleRight(false);
   chart.ShowLegend();
   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));
     }
//--- değerlerle oyna
   while(!IsStopped())
     {
      int i=rand()%5;
      int j=rand()%10;
      k=rand()%3000-1000;
      chart.ValueUpdate(i,j,k);
      Sleep(200);
     }
//--- bitir
   chart.Destroy();
   return(0);
  }