Oltre FSHUB, LethalLavaLand detto,Come si traccia una serie di dati in F #?
Permettetemi di tracciare i miei valori!
Quindi la domanda è: come è possibile tracciare una serie di dati in F # utilizzando i controlli .NET 4.0 integrati?
Oltre FSHUB, LethalLavaLand detto,Come si traccia una serie di dati in F #?
Permettetemi di tracciare i miei valori!
Quindi la domanda è: come è possibile tracciare una serie di dati in F # utilizzando i controlli .NET 4.0 integrati?
Da quando lavoro con i Microsoft Charting Controls incorporati in .NET 4.0 ultimamente (e amando ogni minuto!), Ho pensato che mi sarei scomodato nel rispondere alla mia stessa domanda ...
#r "System.Windows.Forms.DataVisualization"
open System.Windows.Forms
open System.Windows.Forms.DataVisualization.Charting
type LineChartForm(title, xs : float seq) =
inherit Form(Text=title)
let chart = new Chart(Dock=DockStyle.Fill)
let area = new ChartArea(Name="Area1")
let series = new Series()
do series.ChartType <- SeriesChartType.Line
do xs |> Seq.iter (series.Points.Add >> ignore)
do series.ChartArea <- "Area1"
do chart.Series.Add(series)
do chart.ChartAreas.Add(area)
do base.Controls.Add(chart)
let main() =
let data = seq { for i in 1..1000 do yield sin(float i/100.0) }
let f = new LineChartForm("Sine", data)
f.Show()
main()
Non dimenticare, non devi fare tutto in F #.
si può arrotolare tutti i tuoi F calcoli # in una libreria o di classe, e quindi utilizzare tale in qualunque "Front End" la lingua che si desidera:
Ad esempio si potrebbe facilmente sposarsi F # back-end con WPF o Silverlight o C# WinForms.
Tuttavia, se stai lavorando con i dati, quindi esplorarli interattivamente è uno dei punti di forza di F # (e tu non posso farlo con C#). E per l'esplorazione interattiva, i grafici sono essenziali ... –
Penso che mi abbia frainteso, sono d'accordo per l'interattività Anch'io avrei lavorato con F #. Tuttavia, per il codice di produzione, userei F # come back-end e sfruttare il "Front-End" usando WPF/altre lingue nella sua posizione "nativa". – Darknight
Grazie per il suggerimento. In effetti, questo è esattamente ciò che ho fatto: analizzare, filtrare, trasformare e analizzare i dati in F #, quindi usare C# per la presentazione dei grafici. Il supporto per la progettazione dell'interfaccia utente di Visual Studio ha reso molto semplice la creazione dell'app di controllo e ha aiutato la messa a punto dell'aspetto del grafico, ecc. –
Si può apprezzare il mio parametric plot in F# che visualizza le dinamiche predatore-preda utilizzando la nuova funzionalità di creazione di grafici in .NET 4. Il 5-line soluzione originale Mathematica diventa 19 righe di codice F #. Non male per un linguaggio generico!
Tuttavia, questa è una soluzione one-shot e, di conseguenza, non è molto utile in F # interactive. Per riutilizzare la stessa funzionalità in modo interattivo è necessario gestire i problemi di threading (marshalling dei dati da e verso un thread dell'interfaccia utente che gestisce una GUI persistente) come fa il nostro prodotto F# for Visualization. La tecnica è anche descritta nel mio Visual F# 2010 for Technical Computing book.
"L'ambiente di esempio per Microsoft Chart Controls" contiene un sacco di esempi estremamente utili racchiusi in una semplice interfaccia utente di browser: http://code.msdn.microsoft.com/mschart –
Amico, stai parlando a te stesso troppo. – Massif
di solito il primo segno di follia .. – Darknight