2013-09-23 98 views
12

Attualmente ciò che sto cercando di ottenere è creare un grafico all'interno di LINQPad da un'origine dati SQL.Creare grafici in LINQPad

Credo che sia possibile farlo, tuttavia non sono sicuro al 100% su come esattamente farlo.

Qualcuno ha qualche idea su un metodo per farlo? (Anche se include l'uso dei pacchetti NuGet, non importa)

risposta

21

Sì, è possibile utilizzare qualsiasi libreria di grafici NuGet o la libreria di Windows Form incorporata in System.Windows.Forms.DataVisualization.Charting. È sufficiente chiamare Dump sul controllo grafico dopo averlo creato, ad esempio in this example.

Un'altra opzione è quella di utilizzare il Grafico API di Google:

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

con questo risultato:

enter image description here

+0

si può pensare a un modo per creare un grafico a linee con i dati restituiti da LINQ ? cioè come metodo di estensione. Ho provato a tagliare e modificare il codice di esempio con non troppo successo. Sono in grado di ottenere 1 set di dati sul grafico ma quando voglio aggiungere un altro set allo stesso grafico è dove ho riscontrato il problema. –

+0

@Joe Albahari, _Dumping_ a 'System.Windows.Forms.DataVisualization.Charting' non funziona più in _v5.08.01_ invece di visualizzare il grafico che sta invece scaricando l'oggetto grafico. – MaYaN

+1

Purtroppo l'API statica di Google Image Chart è deprecata e non viene mantenuta attivamente dal 2012. Un'estensione IEnumerable o Util.Chart per i casi più comuni sarebbe interessante. Grazie per l'opzione di rendering Bar-Chart (noto anche come "Show Graph"): il lavoro della prima visualizzazione è ben fatto ed è abbastanza buono nell'80% dei casi. – mbx

4

La finestra di output LINQPad è basata su HTML, quindi è possibile utilizzare Util.RawHTML("<div>your HTML here...</div>").Dump();, anche se sarebbe piuttosto noioso includere in questo modo un grafico HTML.

Il posto migliore per porre questa domanda e cercare una risposta sarebbe il LINQPad Forum.