How to extract data from a plot (figure)
Mostra commenti meno recenti
Hello!
I am trying to extract the data in my figure, when it gets "true" or "false". For example, the image below has a true at 0.4159 and a false at 0.9795. How can I extract this (can be through a script) to get these point all over the plot?
Thank you in advance!

5 Commenti
Mischa Kim
il 8 Gen 2021
How did you create the plot?
Gustavo Araujo
il 8 Gen 2021
Mathieu NOE
il 8 Gen 2021
hello
the simple code below will give you the x data indexes when above or below a threshold
istrue = find(Fault.signals.values>0.5)
isfalse = find(Fault.signals.values<1e-3)
if you are interested in finding the rising and falling transition index , time and output values, you can use the attached function
level = 0.5;
[ind_pos,t0_pos,s0_pos,ind_neg,t0_neg,s0_neg] = crossing_V7(Fault.signals.values,Fault.time,level,'linear')
Gustavo Araujo
il 8 Gen 2021
Mathieu NOE
il 11 Gen 2021
hello Gustavo
glad it meets your needs
you can create your own function that use's the crossing function I sent you (call it inside your own function and pass the arguments).
Risposte (1)
Cris LaPierre
il 8 Gen 2021
0 voti
You would process the data used to create the plot, not the plot itself. Look at your plot and see if you can identify some characteristic you could use to detect when the signal switches to true and when it switches to false.
I would probably try something using diff(Fault.signals.values), since a change of +1 indicates a switch from False to True, while a change of -1 indicates a switch from True to False.
Categorie
Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!