BigBastis Blog About Me & my Digital Lifestyle

17Jun/105

.NET: Charts und Diagramme mit MSChart erstellen

Vor Kurzem musste ich für einen Kunden eine Datenauswertung in einer .NET Applikation realisieren und wollte dazu ein schönes Diagramm erstellen. Leider musste ich (zu meinem Erstaunen) feststellen, dass das .NET Framework über kein eigenes Control für solche Zwecke verfügt, zumindest nicht im Framework 3.5!

Nach ein wenig googlen bin ich dann auf die Charting Controls von Microsoft gestoßen, diese können hier heruntergeladen werden und für das Framework 3.5 nachinstalliert werden. Das Framework 4.0 bringt es gleich mit.

Nach der Installation steht euch der Namespace "System.Windows.Forms.DataVisualization.Charting" zur Verfügung, der wirklich alles woran man so denken kann mitbringt, und das völlig kostenlos! Dieses Control kann man auch in ASP.NET Projekten benutzen.

Die eigentlich Benutzung ist auch sehr einfach gehalten, so können wir mit diesem Code einen einfachen Graphen erstellen und anzeigen:


using System.Windows.Forms.DataVisualization.Charting;

        private void Form1_Load(object sender, EventArgs e) {
            chart1.Series.Add("Balcken");
            chart1.Series.Add("Area");

            //Ausssehen festlegen
            chart1.Series["Balcken"].ChartType = SeriesChartType.Column;
            chart1.Series["Linien"].ChartType = SeriesChartType.Line;
            chart1.Series["Area"].ChartType = SeriesChartType.Area;

            //Zufällige Werte generieren
            Random random = new Random();

            for (int pointIndex = 0; pointIndex < 10; pointIndex++) {

                chart1.Series["Area"].Points.AddY(random.Next(20, 50));
            }

            for (int pointIndex = 0; pointIndex < 10; pointIndex++) {

                chart1.Series["Balcken"].Points.AddY(random.Next(50, 100));
            }

            for (int pointIndex = 0; pointIndex < 10; pointIndex++) {

                chart1.Series["Linien"].Points.AddY(random.Next(70, 100));
            }
        }

Wie ihr sehen könnt ist es alles sehr sehr simpel aufgebaut und man hat mit nur wenigen Zeilen Code ein schönes Diagramm gemacht:

Bild 1: Schöne Diagramme schnell gemacht

Wie oben bereits erwähnt seid ihr nicht auf diese Diagrammtypen beschränkt, sondern habt eine ziemlich große Auswahl an verschiedenen Diagrammtypen, darunter auch welche mit Farbverläufen und auch in 3D!

Bild 2: Eine breite Auswahl an verschiedenen Visualisierungen

Bei der Auslieferung eurer App solltet ihr darauf achten, dass ihr die System.Windows.Forms.DataVisualization.dll mit ausliefert, da der Benutzer sonst die Anwendung nicht starten kann, da diese DLL nicht Bestandteil von Framework 3.5 ist. Wenn ihr aber mit Sicherheit wisst, dass der Benutzer das Framework in der Version 4.0 installiert hat könnt ihr euch diesen Schritt sparen!

Weitere Informationen findet ihr im MSDN. Ein Demoprojekt gibts hier:

Be Sociable, Share!

    hat dir dieser Artikel gefallen?

    Dann abonniere doch diesen Blog per RSS Feed!

    Kommentare (5) Trackbacks (0)
    1. Bloggd: .NET: Charts und Diagramme mit MSChart erstellen – http://blog.bigbasti.com/net-charts-und-

    2. “System.Windows.Forms.DataVisualization.Charting” steht bei mir leider nicht zur Verfügung. Ich habe auch für FrameWork 3.5SP1 das MSChart installiert. Leider ist weder unter Verweise bei .NET nichts zu finden. Bei COM finde ich das alte MSChart 2.0 ocx. Das möchte ich nicht. Was ist zu tun?

      Freundliche Grüße

    3. Hallo Ullrich,
      Also nach der Installation der Tools taucht bei mir der Namensraum auf Siehe Bild http://goo.gl/Il6m – Eventuell kann es auch helfen die DLL (Siehe Bild) auch direkt aus dem Verzeichnis “Manuell” zu selektieren. Oder einfach die DLL in den Projektordner (Auf Verweise) ziehen.
      Hoffe das hift, lg Basti

    4. Uh, Balcken. OK, du bist Programmierer aber den Fehler musst du wegmachen…

    5. @Harald-K Diesen Fehler habe ich kurz nach dem Veröffentlichen auch bemerkt, aber eben genau weil ich Programmierer bin habe ich keine Lust extra einen neuen Screenshot zu machen ;-)


    Noch keine Trackbacks.

    Get Adobe Flash player