89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
# ValuesFunctionFormat (Get method)
|
||
|
||
Get the pointer to the function defining the format of displaying values on the axis.
|
||
|
||
```
|
||
DoubleToStringFunction ValuesFunctionFormat()
|
||
|
||
```
|
||
|
||
Return Value
|
||
|
||
Pointer to the function defining the format of displaying values on the axis.
|
||
|
||
# ValuesFunctionFormat (Set method)
|
||
|
||
Set the pointer to the function defining the format of displaying values on the axis.
|
||
|
||
```
|
||
void ValuesFunctionFormat(
|
||
DoubleToStringFunction func // function for converting numerical values into a string
|
||
)
|
||
|
||
```
|
||
|
||
Parameters
|
||
|
||
func
|
||
|
||
[in] Custom function for converting numerical values into a string.
|
||
|
||
Example:
|
||
|
||

|
||
|
||
The format of displaying X axis values has been changed using the following code:
|
||
|
||
```
|
||
//+------------------------------------------------------------------+
|
||
//| DateAxisGraphic.mq5 |
|
||
//| Copyright 2016, MetaQuotes Software Corp. |
|
||
//| https://www.mql5.com |
|
||
//+------------------------------------------------------------------+
|
||
#include <Graphics\Graphic.mqh>
|
||
//--- array for store values
|
||
double arrX[];
|
||
double arrY[];
|
||
//+------------------------------------------------------------------+
|
||
//| Custom function for create values on X-axis |
|
||
//+------------------------------------------------------------------+
|
||
string TimeFormat(double x,void *cbdata)
|
||
{
|
||
return(TimeToString((datetime)arrX[ArraySize(arrX)-(int)x-1]));
|
||
}
|
||
//+------------------------------------------------------------------+
|
||
void OnStart()
|
||
{
|
||
MqlRates rates[];
|
||
CopyRates(Symbol(),Period(),0,100,rates);
|
||
ArraySetAsSeries(rates,true);
|
||
int size=ArraySize(rates);
|
||
ArrayResize(arrX,size);
|
||
ArrayResize(arrY,size);
|
||
for(int i=0; i<size;++i)
|
||
{
|
||
arrX[i]=(double)rates[i].time;
|
||
arrY[i]=rates[i].close;
|
||
}
|
||
//--- create graphic
|
||
CGraphic graphic;
|
||
if(!graphic.Create(0,"DateAxisGraphic",0,30,30,780,380))
|
||
{
|
||
graphic.Attach(0,"DateAxisGraphic");
|
||
}
|
||
//--- create curve
|
||
CCurve *curve=graphic.CurveAdd(arrY,CURVE_LINES);
|
||
//--- gets the X-axis
|
||
CAxis *xAxis=graphic.XAxis();
|
||
//--- sets the X-axis properties
|
||
xAxis.AutoScale(false);
|
||
xAxis.Type(AXIS_TYPE_CUSTOM);
|
||
xAxis.ValuesFunctionFormat(TimeFormat);
|
||
xAxis.DefaultStep(20.0);
|
||
//--- plot
|
||
graphic.CurvePlotAll();
|
||
graphic.Update();
|
||
}
|
||
|
||
```
|