March 11, 2019

Analizlerimde görselliği artırmak için çizgeler kullanmaya başlamıştım. İnternetteki online araçları kullanıyordum ama biraz uzun oluyordu. Aşağıdaki gibi kolay bir şekilde çizgisel çizgileri yapıverdim.

auto temp = "0.000178838 11:15:6&0.0001697 11:15:8&0.000179625 11:15:10&0.00017345 11:15:14&0.000181844 11:15:16";

int dakkaFarkı( string sol, string sag )
{
   return (sol.split(":")[0].to!int - sag.split(":")[0].to!int)*24*60  + (sol.split(":")[1].to!int - sag.split(":")[1].to!int)*60 + (sol.split(":")[2].to!int - sag.split(":")[2].to!int);
}

void çiz()
{
    double[] array = temp.split("&").map!(a => (a.split(" ")[0].to!double*1000)).array;
    string[] zamanlar =  temp.split("&").map!(a => a.split(" ")[1]).array;
    int[] dakkaFarkları;
    for (int i = 0; i < zamanlar.length; i++ )
    {
       dakkaFarkları ~= dakkaFarkı( zamanlar[i], zamanlar[0]);
    }
	 auto gg = zip(array, dakkaFarkları).map!((a) => aes!("x", "y")(a[1], a[0]))
       .geomLine
       .putIn(GGPlotD());

    gg = "Price".yaxisLabel.putIn(gg);
    gg = Axis(0, dakkaFarkları.back() - dakkaFarkları.front()).adjustTickWidth(dakkaFarkları.back() - dakkaFarkları.front()).putIn(gg);
	 gg.save("function2.png");
}

void main()
{
	çiz();
}

Kullanımı kolay olsa bile 1 saat arayıp y ekseni x eksenin iki katı olsun diyemedim. Fonksiyonları çok acayip geliyor bana.

Örneğin ggplotd'nin axis.d dosyasından :

mixin( xy( q{auto axisRange( double min, double max )
{
   AxisFunction func = ( Axis axis ) { axis.min = min; axis.max = max; return axis; };
   return func;
}} ) );

bu mixin sayesinde anladığım kadarıyla xaxisLabel ve yaxisLabel gibi fonksiyonlar çalışıyor x ve y'den bağımsız olmak üzere. Ama bu C'nin ön işlemci komutlarına benzettim. Yanılıyor olabilirim ama buda anlaşılabilirliği çok az demek değil mi ?

dlang.learn'e şunu sordum cevap bekliyorum: https://forum.dlang.org/thread/jqkpqxlmjxpitvekvfij@forum.dlang.org

Hayırlısı bakalım
Erdem

Not : Arkadaşlar iş , aile ve ana projemin yoğunluğundan mangalaya bakamıyorum afedersiniz.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]