Change uiAxes DateNum to DateTime in AppDesigner for animatedLine Plot

2 visualizzazioni (ultimi 30 giorni)
Here, I have a UIAxes; with datenum tick marks. I have the values of x-ticks in String, as you can see from Time Field. I used datetickzoom and dynamicdateticks; but the zoom function gave error. Is there any possibility of changing these dateNum x-ticks to datetime ticks. It'll be better to use dynamic, but if there's no way for that, static vector ticks will also work.

Risposta accettata

Cris LaPierre
Cris LaPierre il 3 Giu 2020
Can you convert your X data to datetime before plotting? Plots support datetimes as x values. You can convert a string to datetime using the datetime('06-Jun-2020 02:26:26') syntax.
You can use xtickformat function to format the datetime appearance.
  3 Commenti
Umair Mughal
Umair Mughal il 3 Giu 2020
Modificato: Umair Mughal il 3 Giu 2020
See everything works perfectly after using plot... As I zoom; it even shows the time in seconds.
Cris LaPierre
Cris LaPierre il 3 Giu 2020
Modificato: Cris LaPierre il 3 Giu 2020
If the appearance and labels are important, which I imagine they are, I would be inclined to suggest using plot instead of animatedline. Since I don't have your code, here's a simple example.
Somewhere, initialze the plot
l = plot(app.UIAxes,x(1),y(1,1))
Then, when you want to add points, update the XData and YData properties of your line object l.
l.XData = x(1:k);
l.YData = y(1:k,1);
And when you want to clear the points, you could do this.
l.XData = [];
l.YData = [];
I don't have your code, so you may need to do some slight modification to get this to work. If you are in app designer, you might also need to add l to your app properties, and reference it using app.l.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Animation in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by