CPieChart

Pay grafikleri için tasarlanmıştır.

ccanvas_piechart

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

Açıklama

Bu sınıfta yer alan yöntemler, grafiksel kaynağın oluşturulmasından, dilim etiketlerinin düzenlenmesine kadar, pay grafiklerle yapılabilecek her türlü kapsamlı çalışmalar için tasarlanmıştır.

Bildirim

   class CPieChart : public CChartCanvas

Başlık

   #include <Canvas\Charts\PieChart.mqh>

 

Kalıtım hiyerarşisi

  CCanvas

      CChartCanvas

          CPieChart

Sınıf yöntemleri

Yöntem

Eylem

Create

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

SeriesSet

Pay grafikte görüntülemek için bir değerler serisi ayarlar.

ValueAdd

Pay grafiğin sonuna yeni bir değer ekler.

ValueInsert

Pay grafiğin belirtilen konumuna yeni bir değer ekler.

ValueUpdate

Pay grafiğin belirtilen konumundaki veriyi günceller.

ValueDelete

Pay grafiğin belirtilen konumundaki veriyi siler.

DrawChart

Tüm bileşenleriyle birlikte bir pay grafik çizmek için tasarlanmış sanal yöntem.

DrawPie

Belirtilen değere karşılık gelen grafik dilimini çizer                                                        

LabelMake

Dilimin değerine ve orjinal etiket değerine göre bir dilim etiketi ayarlar.

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

//+------------------------------------------------------------------+
//|                                               PieChartSample.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 "Pay grafik kullanım цrneği"
//---
#include <Canvas\Charts\PieChart.mqh>
//+------------------------------------------------------------------+
//| girdiler                                                         |
//+------------------------------------------------------------------+
input int      Width=600;
input int      Height=450;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
  {
//--- kontrol et
   if(Width<=0 || Height<=0)
     {
     Print("Fazla basit.");
      return(-1);
     }
//--- зizelge oluştur
   CPieChart pie_chart;
   if(!pie_chart.CreateBitmapLabel("PieChart",10,10,Width,Height))
     {
     Print("Hata, pay grafik oluşturulamadı: ",GetLastError());
      return(-1);
     }
   pie_chart.ShowPercent();
//--- зiz
   for(uint i=0;i<30;i++)
     {
      pie_chart.ValueAdd(100*(i+1),"Item "+IntegerToString(i));
      Sleep(10);
     }
   Sleep(2000);
//--- başlıkları devre dışı bırak
   pie_chart.LegendAlignment(ALIGNMENT_LEFT);
   Sleep(2000);
//--- başlıkları devre dışı bırak
   pie_chart.LegendAlignment(ALIGNMENT_RIGHT);
   Sleep(2000);
//--- başlıkları devre dışı bırak
   pie_chart.LegendAlignment(ALIGNMENT_TOP);
   Sleep(2000);
//--- başlıkları devre dışı bırak
   pie_chart.ShowLegend(false);
   Sleep(2000);
//--- yьzdeyi gцsterme
   pie_chart.ShowPercent(false);
   Sleep(2000);
//--- aзıklamaları kapat
   pie_chart.ShowDescriptors(false);
   Sleep(2000);
//--- hepsini gцster
   pie_chart.ShowLegend();
   pie_chart.ShowValue();
   pie_chart.ShowDescriptors();
   Sleep(2000);
//--- veya bu şekilde
   pie_chart.ShowFlags(FLAG_SHOW_LEGEND|FLAG_SHOW_DESCRIPTORS|FLAG_SHOW_PERCENT);
   uint total=pie_chart.DataTotal();
//--- değerlerle oyna
   for(uint i=0;i<total && !IsStopped();i++)
     {
      pie_chart.ValueUpdate(i,100*(rand()%10+1));
      Sleep(1000);
     }
//--- renklerle oyna
   for(uint i=0;i<total && !IsStopped();i++)
     {
      pie_chart.ColorUpdate(i%total,RandomRGB());
      Sleep(1000);
     }
//--- dцndьr
   while(!IsStopped())
     {
      pie_chart.DataOffset(pie_chart.DataOffset()+1);
      Sleep(200);
     }
//--- bitir
   pie_chart.Destroy();
   return(0);
  }
//+------------------------------------------------------------------+
//| Rassal RGB değeri                                                |
//+------------------------------------------------------------------+
uint RandomRGB(void)
  {
   return(XRGB(rand()%255,rand()%255,rand()%255));
  }