Export/Copy Plot Line Values

조회 수: 6 (최근 30일)
Sami Case
Sami Case 2021년 5월 16일
댓글: Star Strider 2021년 5월 16일
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.

채택된 답변

Star Strider
Star Strider 2021년 5월 16일
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
Sami Case
Sami Case 2021년 5월 16일
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 2021년 5월 16일
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')
.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by