none
Lücke Zwischen die StackedColumm in Chart Control RRS feed

  • Frage

  • Hallo,

    Ich kann leider noch kein Bild hier einfügen, zu illustrierien meine Fragen. In meinem Chart Control  gibt es Lücke zwischen meine Ergebnisse auf die einzelnen Spalten. die Ergebnisse liegen nicht übereinander.

    Die Ergebnisse von jeder Serie sind mit Sicherheit  auf derselben Spalte angeordnet. Aber nicht aneinander haften. Es gibt eine Lücke zwischen jedem auf der Chart Control.

    Ich hoffe, man kann meine Frage  verstehen , sonst hätte ich ein Bild geschickt.

    Danke

    Montag, 19. Januar 2015 08:39

Antworten

  • Hallo,
    meinst du vielleicht diesen Abstand? (In nachfolgendem Bild rot gekennzeichnet)

    Wie hier beschrieben, reicht es dafür aus eine benutzerdefinierte Eigenschaft festzulegen (fett markiert):

    chart1.Series.Clear();
    
    var series1 = chart1.Series.Add("Daten1");
    series1.ChartType = SeriesChartType.StackedColumn;
    series1.YAxisType = AxisType.Secondary;
    series1.XValueType = ChartValueType.Int32;
    series1["PointWidth"] = "1";
    
    var series2 = chart1.Series.Add("Daten2");
    series2.ChartType = SeriesChartType.StackedColumn;
    series2.YAxisType = AxisType.Secondary;
    series2.XValueType = ChartValueType.Int32;
    series2["PointWidth"] = "1";
    for (int i = 0; i < 10; ++i)
    {
        series1.Points.AddXY(i, i);
        series2.Points.AddXY(i, 20 - i);
    }


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Montag, 19. Januar 2015 17:23
    Moderator
  • Hallo Tom,

    Danke. Die lösung habe ich gefunden. dies sollte ich so machen.

      chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Number, "series1, series2, series3,");

    nun sind meine XValue(Datum) bei der Diagramm nicht mittig. Ich möchte, dass sie in der mitte von jede stackedcolumm stehen. wie zum beispiel in deinem Chart "Form1" von gestern, sind die Xvalue 1,2,3,4.... genaue in der mitte von jede Columm.

    Ich habe gefunden, dass man mit folgende funktion machen kann area1.AxisX.CustomLabels.Add(); aber ich kann diese nicht im meinen Fall einsetzen. So passe ich meine X-Achse an.

      double End = DateTime.Now.ToOADate();
      double Start = End - 30;
    series1.Points.DataBind(table.AsEnumerable(), "Dat1", "Anz1", null);
                series1.XValueType = ChartValueType.Date;
                area1.AxisX.Minimum = Start;
                area1.AxisX.Maximum = End;

    Danke

    Dienstag, 20. Januar 2015 08:52

Alle Antworten

  • Die Stackedcolumm sind nicht gestapelt. Es gibt Lücke zwischen die einzelne Ergebnisse
    Montag, 19. Januar 2015 10:36
  • Hallo Gisele,

    Ich kann leider noch kein Bild hier einfügen, zu illustrierien meine Fragen.

    Ich hoffe, man kann meine Frage  verstehen , sonst hätte ich ein Bild geschickt.

    Du kannst die Bestätigung Deines Accounts hier beantragen, um Bilder hochladen zu können. Sie wird in der Regel in Kürze gewährt.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 19. Januar 2015 13:57
    Administrator
  • Hallo,
    meinst du vielleicht diesen Abstand? (In nachfolgendem Bild rot gekennzeichnet)

    Wie hier beschrieben, reicht es dafür aus eine benutzerdefinierte Eigenschaft festzulegen (fett markiert):

    chart1.Series.Clear();
    
    var series1 = chart1.Series.Add("Daten1");
    series1.ChartType = SeriesChartType.StackedColumn;
    series1.YAxisType = AxisType.Secondary;
    series1.XValueType = ChartValueType.Int32;
    series1["PointWidth"] = "1";
    
    var series2 = chart1.Series.Add("Daten2");
    series2.ChartType = SeriesChartType.StackedColumn;
    series2.YAxisType = AxisType.Secondary;
    series2.XValueType = ChartValueType.Int32;
    series2["PointWidth"] = "1";
    for (int i = 0; i < 10; ++i)
    {
        series1.Points.AddXY(i, i);
        series2.Points.AddXY(i, 20 - i);
    }


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Montag, 19. Januar 2015 17:23
    Moderator
  • Hallo Tom,

    Danke. Die lösung habe ich gefunden. dies sollte ich so machen.

      chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Number, "series1, series2, series3,");

    nun sind meine XValue(Datum) bei der Diagramm nicht mittig. Ich möchte, dass sie in der mitte von jede stackedcolumm stehen. wie zum beispiel in deinem Chart "Form1" von gestern, sind die Xvalue 1,2,3,4.... genaue in der mitte von jede Columm.

    Ich habe gefunden, dass man mit folgende funktion machen kann area1.AxisX.CustomLabels.Add(); aber ich kann diese nicht im meinen Fall einsetzen. So passe ich meine X-Achse an.

      double End = DateTime.Now.ToOADate();
      double Start = End - 30;
    series1.Points.DataBind(table.AsEnumerable(), "Dat1", "Anz1", null);
                series1.XValueType = ChartValueType.Date;
                area1.AxisX.Minimum = Start;
                area1.AxisX.Maximum = End;

    Danke

    Dienstag, 20. Januar 2015 08:52