Export/Copy Plot Line Values

9 Ansichten (letzte 30 Tage)
Sami Case
Sami Case am 16 Mai 2021
Kommentiert: Star Strider am 16 Mai 2021
I need to be able to copy the values of a line from my plot. I know that the line is saved as a 1x70 vector in the workspace, but is there a function to copy these numbers to the clipboard. I ultimately want to use this function in the app designer, so saving directly from the workspace isn't ideal.

Akzeptierte Antwort

Star Strider
Star Strider am 16 Mai 2021
Try siomething like this —
x = 0:10;
y1 = x.^2;
y2 = 50*sin(2*pi*x/10)+50;
figure
hp = plot(x, y1, x, y2);
Line1X = hp(1).XData
Line1X = 1×11
0 1 2 3 4 5 6 7 8 9 10
Line1Y = hp(1).YData
Line1Y = 1×11
0 1 4 9 16 25 36 49 64 81 100
Line2X = hp(2).XData
Line2X = 1×11
0 1 2 3 4 5 6 7 8 9 10
Line2Y = hp(2).YData
Line2Y = 1×11
50.0000 79.3893 97.5528 97.5528 79.3893 50.0000 20.6107 2.4472 2.4472 20.6107 50.0000
.
  2 Kommentare
Sami Case
Sami Case am 16 Mai 2021
What function can I use to copy each of these values to a system clipboard to export them as a excel type array?
Star Strider
Star Strider am 16 Mai 2021
I doubt that there is a specific function for that. You would likely have to do something like this —
x = 0:10;
y1 = x.^2;
y2 = 50*sin(2*pi*x/10)+50;
figure
hp = plot(x, y1, x, y2);
Line1X = hp(1).XData.';
Line1Y = hp(1).YData.';
Line2X = hp(2).XData.';
Line2Y = hp(2).YData.';
T1 = table(Line1X, Line1Y, Line2X, Line2Y)
T1 = 11×4 table
Line1X Line1Y Line2X Line2Y ______ ______ ______ ______ 0 0 0 50 1 1 1 79.389 2 4 2 97.553 3 9 3 97.553 4 16 4 79.389 5 25 5 50 6 36 6 20.611 7 49 7 2.4472 8 64 8 2.4472 9 81 9 20.611 10 100 10 50
writetable(T1,'YourFileName.xlsx')
.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by