2013-09-23 9 views
12

Gegenwärtig versuche ich, ein Diagramm in LINQPad aus einer SQL-Datenquelle zu erstellen.Erstellen von Diagrammen in LINQPad

Ich glaube, es ist möglich, aber ich bin nicht 100% sicher, wie genau es zu tun ist.

Hat jemand irgendwelche Ideen zu einer Methode, dies zu tun? (Auch wenn es die Verwendung von NuGet-Paketen einschließt, stört es mich nicht)

Antwort

21

Ja, Sie können eine NuGet-Diagrammbibliothek oder die integrierte Windows Forms-Bibliothek in System.Windows.Forms.DataVisualization.Charting verwenden. Rufen Sie einfach Dump auf dem Diagrammsteuerelement auf, nachdem Sie es erstellt haben, z. B. in this example.

Eine weitere Option ist es, die Google Chart API zu verwenden:

Util.Image ("http://chart.apis.google.com/chart?cht=p3&chd=s:Uf9a&chs=350x140&chl=January|February|March|April").Dump(); 

mit diesem Ergebnis:

enter image description here

+0

Können Sie sich einen Weg vorstellen, eine Liniendiagramm erstellen mit den Daten von LINQ zurückgegeben ? als eine Erweiterungsmethode. Ich habe versucht, den Beispielcode mit nicht zu viel Erfolg zu zerhacken und zu ändern. Ich bin in der Lage, eine Reihe von Daten auf dem Diagramm zu bekommen, aber wenn ich ein anderes Set zum selben Diagramm hinzufügen möchte, ist, wo ich das Problem treffe. –

+0

@Joe Albahari, _Dumping_ a 'System.Windows.Forms.DataVisualization.Charting' funktioniert nicht mehr in _v5.08.01_, anstatt das Diagramm anzuzeigen, in dem das Diagrammobjekt gespeichert wird. – MaYaN

+1

Leider ist die statische Google Image Chart API seit 2012 nicht mehr aktiv und wird nicht mehr gepflegt. Eine IEnumerable Erweiterung oder Util.Chart für die häufigsten Fälle wären cool. Danke übrigens für die Rendering-Option Bar-Chart (alias "Show Graph") - es wird die Aufgabe der ersten Visualisierung gut gemacht und ist in 80% der Fälle gut genug. – mbx

4

Das LINQPad-Ausgabefenster ist HTML-basiert, also könnten Sie Util.RawHTML("<div>your HTML here...</div>").Dump(); verwenden, obwohl es ziemlich mühsam wäre, einen HTML-Graphen auf diese Weise einzuschließen.

Der beste Ort, um diese Frage zu stellen und eine Antwort zu suchen, wäre auf der LINQPad Forum.