天软金融分析.NET函数大全 > TSL函数 > 图形函数 > 作图函数

Graph    

简述

用于生成单个图形。单个图形的含义是一条折线、K线或成交量柱壮图。函数的具体的功能是:用指定的数据Data生成一个类型为Type的图形,并且用后面指定的属性参数PropN和PropNValue为图形指定修饰属性。注意,如果横坐标要显示出数据,需要把横坐标设置列名为'time'
先得到一个用于作图的二维数组GData,然后用graph函数作图,参数gtLine()表示要做折线,”MA5”是图线的名称,Gdata是作图数据,gfColor()和clBlue()是一对属性值,gfColor()指明是颜色属性,那么对应的值就是clBlue()蓝色。
在Gdata中并没有gfValue字段以及其他标准属性字段,因此将第一个数据字段'MA5'作为gfValue来作图。
定义
Graph( <Type: Integer;GraphName: String;Data:TableArray;><Prop1:String;Prop1Value:Any;>[Prop2:String;Prop2Value:Any;][…][PropN:String;PropNValue:Any]) :TGraph;
参数
名称类型说明
Typeinteger整数,图形类型。为了便于使用理解,提供相应的图形类型函数,函数见图形类型函数
GraphNameString字符串,函数图线名称。
DataArray,TableArray二维数组,用来作图的数据。往往是由Nday2函数得到,其系统默认的数据字段名见图形字段函数。如gftime、gfclose、gfopen、gfhigh、gflow、gfvol、gfAmount。
PropNString指出是对哪个属性做修饰,必须和PropNValue配对出现的参数。PropN的系统默认数据字段见图形字段函数:在某种图形类别下,如果没有指定系统默认的数据字段的时候,系统会使用第一个存在的数据字段当成默认的来显示。如果存在多个系统默认的数据字段,则系统根据如下优先级别处理:
图形类别 优先级别
gtLine,gtKLine,gtAmerican,gtTower,gtCirclegfValue,gfClose,gfVol,gfAmount
gtBar,gtSingleBargfValue,gfVol,gfAmount,gfClose
例如,对于gtLine图形,由Nday函数或其他方式得到了一个二维数组GDATA,首先选择用GDATA中gfValue字段下的值作图,如果二维数组中没有gfValue字段,则选择gfClose字段下的值做图,依次类推
PropNValue给出了这个属性的值。属性的定义也可以用一个一维的以字符串作下标的数组完成,如果是一维数组,则下标就是PropName,对应的值就是PropValue。Nday函数也可以指定属性,这里指定的属性与Nday指定的属性区别是Nday函数可以指定每个点的属性,这里指定的属性是整个图形的属性,每个点都相同,可以较少的占用系统资源。
  • 范例

    范例一:
    //K线图
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140117));
    setsysparam(pn_nday(),250);
    t1:=NDay2(gfopen(), Open() ,
         gfclose(), close(),
         gfhigh(), high(),
         gflow(),  low(),
         gftime(), datetimetostr(sp_time()),
            //KLine颜色
         gfColor(), IfThen3(Close(), Open(),
                     ClRed() ,  //涨颜色
                     clYellow() , //平颜色
                     ClLime()   //跌颜色
                    ),
         gffill(),ifThen3(Close(), Open(), flClear(), flSolid(),flSolid())
           );
    t2:=NDay2('MA10',Ma(Close(),10));
    g1:=graph(gtKline(),'KLine',t1);
    g2:=graph(gtline(),'MA10',t2);
    return graphgroup(g1,g2);

    结果:

    范例二:
    //折线图
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140117));
    setsysparam(pn_nday(),250);
    GData1:=Nday2(gfclose(),close());
    GData2:=Nday2('MA5',MA(close(),5));
    GData3:=Nday2('MA20',MA(close(),20));
    g1:=graph( gtLine(),gfclose(), Gdata1, gfColor() , clBlue());
    g2:=graph( gtLine(),"MA5", Gdata2, gfColor() , clGreen());
    g3:=graph( gtLine(),"MA20", Gdata3, gfColor() , clRed());
    return graphgroup(g1,g2,g3);

    结果:
    参考
    GraphGroup DecodeGraphGroup EncodeGraphGroup DecodeGraph EncodeGraph 
相关