Convert plotted graph to (x,y) coordinates?
Mostrar comentarios más antiguos
Hi all,
I have a plotted graph and I wanted to know if it is possible to "convert" the plot by the graph() function to a plot in a (x,y) axis (like a scatter plot), but it is very important that is preserves the look of the plot! Is this possible in any way?
Thank you very much!
16 comentarios
KSSV
el 9 de Ag. de 2017
If you have data (x,y) in hand....use scatter
Felipe Schuback
el 9 de Ag. de 2017
José-Luis
el 9 de Ag. de 2017
You could use quiver() and superimpose it to your plot.
Felipe Schuback
el 9 de Ag. de 2017
Felipe Schuback
el 9 de Ag. de 2017
Felipe Schuback
el 10 de Ag. de 2017
José-Luis
el 10 de Ag. de 2017
Not gonna happen automagically, please see answer below.
You choose the direction by defining the starting point and the vector direction. I don't think it's just an option you can change. You'd need to reverse that.
Please accept the answer that best solves your problem.
Walter Roberson
el 10 de Ag. de 2017
You asked about the solid head in a new Question. I answered there:
h = quiver(...., 'LineStyle', '--') %use the linestyle appropriate for the body
h.Head.LineStyle = 'solid'; %magic property, magic property value, notice this is not '-'
José-Luis
el 10 de Ag. de 2017
I stand corrected. It apparently can happen automagically.
Only downside to it being undocumented is that it's, well, undocumented and can change without warning in a new release.
Prettier than my answer though.
Felipe Schuback
el 11 de Ag. de 2017
Walter Roberson
el 11 de Ag. de 2017
The "Head" property of quiver objects is not documented.
Felipe Schuback
el 11 de Ag. de 2017
Walter Roberson
el 11 de Ag. de 2017
Sorry, only one color is possible for any one call to scatter()
Felipe Schuback
el 11 de Ag. de 2017
Walter Roberson
el 11 de Ag. de 2017
Ah yes, I forgot for a moment about specifying the individual colors for scatter().
scatter() plots do not have line colors.
If you are referring to quiver(), then you can use the 'Color' option to set the same color for all of the lines; however, it is not possible to use different colors for different lines in any one quiver() call.
Respuestas (1)
José-Luis
el 10 de Ag. de 2017
It ain't pretty but it works. As far as I understand there are no simple options you can set to get the look you want.
data = rand(10,4);
qH = quiver(data(:,1),data(:,2),data(:,3),data(:,4),0);
hold on
qH1 = quiver(data(:,1),data(:,2),data(:,3),data(:,4),0);
colorVector = rand(1,3);
qH2 = quiver(data(:,1),data(:,2),data(:,3),data(:,4),0);
colorVector = rand(1,3);
qH.LineStyle = '-';
qH.Color = colorVector;
qH1.LineStyle = '-';
qH1.Color = 'w';
qH1.ShowArrowHead = 'off';
qH2.LineStyle = '--';
qH2.Color = colorVector;
qH2.ShowArrowHead = 'off';
Categorías
Más información sobre Vector Fields en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!