Momentan werden meine Daten in einer LineSeries mit beiden Achsen numerisch angezeigt. Der X-Wert jedes Punktes ist ein sehr kleines Zeitintervall. Ich muss diesen Wert auf eine benutzerdefinierte Weise anzeigen. Ich möchte vermeiden, ein DateTimeAxis
für die Daten zu verwenden, wenn möglich. Kann ich die LinearAxis auf eine bestimmte Art formatieren?LinearAxis StringFormat zum Anzeigen einer DateTime?
1
A
Antwort
1
Dies scheint für mich zu arbeiten. Ich hoffe, ich interpretiere hier nichts falsch, die Antwort ist zu einfach.
//Start point of the data (arbitrary in this example)
var startOfData = DateTime.Now.Subtract(TimeSpan.FromDays(1));
//https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
var formatString = "m.ss.fffff";
Func<double, string> labelFormatter =
milliseconds =>
startOfData
.Add(TimeSpan.FromMilliseconds(milliseconds))
.ToString(formatString);
Verwendungsbeispiel:
var pm = new PlotModel();
pm.Axes.Add(new OxyPlot.Axes.LinearAxis { Position = AxisPosition.Left });
pm.Axes.Add(new OxyPlot.Axes.LinearAxis { Position = AxisPosition.Bottom, LabelFormatter = labelFormatter });
Random random = new Random(Guid.NewGuid().GetHashCode());
var datapoints =
Enumerable.Range(1, 100)
.Select(milliseconds => new DataPoint(milliseconds, random.Next(0, 10)));
var lineSeries = new OxyPlot.Series.LineSeries();
lineSeries.Points.AddRange(datapoints);
pm.Series.Add(lineSeries);
Show(pm);
Komplette Arbeits LINQPad Skript hier https://github.com/kennethito/StackOverflowReferences/blob/master/Oxyplot-CustomAxis/oxyplot.linq
Verwandte Themen
- 1. Flex: LinearAxis-Werte umkehren
- 2. Binding StringFormat
- 3. WPF XAML StringFormat DateTime: Ausgabe in falscher Kultur?
- 4. Anzeigen eines DateTime + 1 Jahr
- 5. Wie programmiere ich die Bindung einer Textbox mit Stringformat?
- 6. JavaScript Stringformat mit Array
- 7. angepasste StringFormat in WPF DataGrid
- 8. StringFormat mit Font Weight
- 9. WPF StringFormat auf Etiketteninhalt
- 10. Zeitspanne zum Datetime-Konvertierungsformat Problem zur Anzeige von DateTime-Diagramm
- 11. Schreiben einer ActiveRecord-Anweisung zum Abfragen einer DateTime-Spalte
- 12. Unterstützt Silverlight StringFormat beim Binden?
- 13. SQL Spaltenname zum Anzeigen einer Änderung
- 14. Möglichkeiten zum Anzeigen von Ereignissen einer Schleife
- 15. WPF DataGrid: Konverter und StringFormat
- 16. Warum DateTime-> diff() andere Ergebnisse anzeigen?
- 17. TabControl.ItemTemplate: Festlegen von TabItem.Header.Text zu einer MultiBinding mit StringFormat
- 18. Python konvertieren Zeichenfolge in Datetime zum Vergleich mit Datetime-Objekt
- 19. mit Tooltip zum Anzeigen einer Zeile Details einer Tabelle (jQuery)
- 20. Verwenden von XML zum Anzeigen einer Tabelle auf einer Seite
- 21. Was ist die richtige Methode zum Formatieren einer Datetime in SQL Server Datetime-Feld
- 22. Nichts zum Anzeigen in Android Project Anzeigen
- 23. StringFormat in silverlight Xaml und Ressourcen
- 24. Bestätigungsmeldung zum Löschen anzeigen
- 25. Laravel: Sitzungsdaten zum Anzeigen
- 26. Wie verwendet man StringFormat in XAML-Elementen?
- 27. Subtrahieren von einer 'DateTime'
- 28. Yii2 Konvertieren von Integer zu Datetime zum Anzeigen und Speichern in der Datenbank mit Integer
- 29. Bindung mit StringFormat unter Windows Phone 7?
- 30. StringFormat XAML Bindung an mehrere Steuerelemente
Dank Kenneth. Ich vertraue darauf, dass Ihre Lösung funktioniert, aber ich hatte noch keine Gelegenheit, sie zu validieren. Ich werde es bald tun (12-24 Stunden, Gott will) und updaten. – Daniel