Как в oxyplot сделать несколько графиков

96
04 ноября 2019, 07:20

Есть несколько графиков и надо что бы они находились на одном plot. Возможно ли это сделать? И как можно сделать в oxyplot сетку так же как в пример? Заранее спасибо!

Вот часть кода

void Graf_fi(float[] F_x, Brush Brush,float x_max,float x_min, float y_max, float y_min)
    {
        var pm = new PlotModel();
        var ls = new LineSeries() { Title="", MarkerStroke=OxyColors.Black };
        int N, i;
        float dX,x1,x2,y1,y2,x0,y0;
        N = 1024;
        dX=720.0f/1024.0f;
        x0 = 0;
        y0 = 0;
        for (i = 0; i < N-1; i++)
        {
            x1 = x0 + (i * dX);
            x2 = x0 + ((i + 1)*dX);
            y1 = F_x[i];
            y2 = F_x[i+1];
            if (i * dX >= x_min && (i+1) * dX <= x_max)
            {
                if (F_x[i] >= y_min && F_x[i+1] <= y_max)
                {
                    ls.Points.Add(new DataPoint(x1, y1));
                    ls.Points.Add(new DataPoint(x2, y2));
                }
            }
        }
        pm.Series.Add(ls);
        plot_graf.Model = pm;
    }
    void Otrisovka()
    {
        switch (tabControl1.SelectedIndex)
        {
            case 0:
                if (chckBx_N_fi.Checked == true) Graf_fi(N_MPa, Brushes.Blue, X_max, X_min, Y_max, Y_min);
                if (chckBx_Pg_fi.Checked == true) Graf_fi(Frm_Raschet.p, Brushes.Red, X_max, X_min, Y_max, Y_min);
                if (chckBx_Pj_fi.Checked == true) Graf_fi(Pj_MPa, Brushes.Black, X_max, X_min, Y_max, Y_min);
                if (chckBx_dNdfi.Checked == true) Graf_fi(dNdfi_MPa, Brushes.Green, X_max, X_min, Y_max, Y_min);
                break;
        }
    }
Answer 1

Для сетки, в каждом свойстве Axes(x,y) добавь:

если свойства в .cs файле:

MajorGridlineColor = OxyColors.Black, 
MajorGridlineStyle = LineStyle.Automatic, 

если в .xaml(wpf):

MajorGridlineColor = "Black"//вместо black ставишь любой другой цвет
MajorGridlineStyle = "Automatic"//здесь можешь поменять стиль(Dash,Dot, etc)

Чтобы рисовать 2 графика на одном plot, просто создай еще один Series:

var ls1 = new LineSeries();

Ну и добавь его в plot:

pm.Series.Add(ls1);

А используй его как и ls:

ls1.Points.Add(new DataPoint(x, y));
READ ALSO
Причина ошибки?

Причина ошибки?

Fatal error: Uncaught Error: Using $this when not in object context in H:\OSPanel\domains\KingKino\indexphp:13 Stack trace: #0 H:\OSPanel\domains\KingKino\index

109
Как правильно сформировать PHP запрос в UNISENDER

Как правильно сформировать PHP запрос в UNISENDER

В документации по сабжу есть пример создания списка $result=$uni->createList(Array("title"=>"OurNewList")); Я настроил свои - работаетЗначит подключение настроено...

107
Не могу разобраться с создание запроса sql

Не могу разобраться с создание запроса sql

Я не силен в sql поэтому не могу понять куда копать и реально ли такой запрос создать?

115