Burak Kaymakci
Burak Kaymakci

Reputation: 690

ZedGraph How To Create a Classic Line Chart With XAxis.Type = AxisType.Text

I'm trying to create a Line Graph with zed graph. I just wanted to ask that how can I create a Line Graph which XAxis type is text and YAxis type is doubles.

Firstly i was really searching about this topic but i didnt get any result about it. Because other Line graphs are always about date&time on XAxis. I don't need date&time on XAxis. I will use labels for XAxis to name points on YAxis .

Here an Example Graph

            string[] labels = { "P(A)", "P(A)+P(T)", "P(A)+P(T)+P(G)", "P(A)+P(T)+P(G)+P(C)" };
    double[] y = { PA(), PA() + PT(), PA() + PT() + PG(), PA() + PT() + PG() + PC() };

    LineItem myLine = myPane.AddCurve("dizi 1", null, y, Color.Red);
    myLine.Line.Fill = new Fill(Color.Red, Color.White, Color.Red);

    myPane.XAxis.Scale.TextLabels = labels;
    myPane.XAxis.Type = AxisType.Text;

    myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 90F);
    myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));
    zedGraphControl1.AxisChange();

****Codes are above . Is there anything wrong ?****

Upvotes: 3

Views: 3413

Answers (1)

Burak Kaymakci
Burak Kaymakci

Reputation: 690

I just figured it out!

Here is example codes to create a basic line graph!

        private void button3_Click(object sender, EventArgs e)
    {
        // generate some fake data
        double[] y = { 1, 2, 3, 9 ,1,15,3,7,2};
        string[] schools = { "A", "B", "C", "D" ,"E","F","G","H","J"};

        //generate pane
        var pane = zg1.GraphPane;


        pane.XAxis.Scale.IsVisible = true;
        pane.YAxis.Scale.IsVisible = true;

        pane.XAxis.MajorGrid.IsVisible = true;
        pane.YAxis.MajorGrid.IsVisible = true;

        pane.XAxis.Scale.TextLabels = schools;
        pane.XAxis.Type = AxisType.Text;


        //var pointsCurve;

        LineItem pointsCurve = pane.AddCurve("", null, y, Color.Black);
        pointsCurve.Line.IsVisible = true;
        pointsCurve.Line.Width = 3.0F;
         //Create your own scale of colors.

        pointsCurve.Symbol.Fill = new Fill(new Color[] { Color.Blue, Color.Green, Color.Red });
        pointsCurve.Symbol.Fill.Type = FillType.Solid;
        pointsCurve.Symbol.Type = SymbolType.Circle;
        pointsCurve.Symbol.Border.IsVisible = true;



        pane.AxisChange();
        zg1.Refresh();
        this.Controls.Add(zg1);
    }

Upvotes: 2

Related Questions