CHistogramChart

Classe per l'analisi di istogrammi.

Descrizione

Tutti i metodi per lavorare con la compilazione di istogrammi sono implementati in questa classe. Possono essere utilizzati per impostare la larghezza della colonna e per configurare il lavoro con la serie di dati. Sono inclusi i metodi per il lavoro con il riempimento gradiente di colonne di istogramma, che consentono di visualizzare in modo più chiaro i dati.

ccanvas_histogramchart

Il codice della figura precedente è fornito sotto .

Dichiarazione

   class CHistogramChart : public CChartCanvas

Titolo

   #include <Canvas\Charts\HistogramChart.mqh>

 

Gerarchia ereditaria

  CCanvas

      CChartCanvas

          CHistogramChart

Metodi di classe

Metodo

Azione

Gradient

Imposta la flag che indica se il riempimento gradiente delle colonne dell'istogramma verrà applicato.

BarGap

Imposta il valore dell'offset dell'istogramma dall'origine.

BarMinSize

Imposta la larghezza minima delle colonne dell'istogramma.

BarBorder

Imposta la flag che indica la necessità di disegnare il bordo per ogni colonna.

Create

Metodo virtuale che crea una risorsa grafica.                                      

SeriesAdd

Aggiunge una nuova serie di dati.

SeriesInsert

Inserisce serie di dati nel grafico.

SeriesUpdate

Aggiorna serie di dati sul grafico.

SeriesDelete

Elimina serie di dati dal grafico.

ValueUpdate

Aggiorna il valore dell'elemento nella serie specificata.

DrawData

Metodo virtuale che traccia un istogramma per la serie specificata.

DrawBar

Disegna una colonna dell'istogramma come un rettangolo pieno.

GradientBrush

Crea un pennello per il riempimento gradiente.                                    

Metodi ereditati da CCanvas

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

Metodi ereditati da CChartCanvas

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

Esempio

//+------------------------------------------------------------------+
//|                                         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 "Esempio d'uso dell'istogramma"
//---
#include <Canvas\Charts\HistogramChart.mqh>
//+------------------------------------------------------------------+
//| inputs                                                           |
//+------------------------------------------------------------------+
input bool Accumulative=true;
//+------------------------------------------------------------------+
//| Funzione start programma script                                  |
//+------------------------------------------------------------------+
int OnStart(void)
  {
   int k=100;
   double arr[10];
//--- create chart
   CHistogramChart chart;
   if(!chart.CreateBitmapLabel("SampleHistogramChart",10,10,600,450))
     {
      Print("Error creating histogram chart: ",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));
     }
//--- gioca con i valori
   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);
  }