My line plot doens't work according to plot([x1 x2], [y1,y2])
1 回表示 (過去 30 日間)
古いコメントを表示
Frank Oosterveld
2018 年 12 月 4 日
コメント済み: Frank Oosterveld
2018 年 12 月 5 日
I've been staring at it for a while now, but i want to make horizontal, vertical and both diagonal elements in my window,
Elem is the connection matrix, providing information about what nodes to couple. Then XY_plot is are respectively the x-value of node 1, the x-value of node 2, the y-value of node 1 and the y-value of node 2.
XY_plot = zeros(length(Elem),4);
for i = 1:length(Elem)
node_1 = Elem(i,1);
node_2 = Elem(i,2);
XY_1 = nodes(node_1,:);
XY_2 = nodes(node_2,:);
XY_plot(i,:) = [XY_1(1) XY_2(1) XY_1(2) XY_2(2)];
end
X_val = [XY_plot(:,1) XY_plot(:,2)];
Y_val = [XY_plot(:,3) XY_plot(:,4)];
%
clf, figure(1), subplot(1,2,1), hold on,
plot(X_val,Y_val,'k-')
plot(xpos,ypos,'o','MarkerFaceColor', 'y')
hold off
But this doesn't work, however the plot(X_val, Y_val) satisfies the plot([x1 x2] , [y1 y2]). Does anyone see why it doesn't work?
I attached the Elem and nodes files.
0 件のコメント
採用された回答
Cris LaPierre
2018 年 12 月 4 日
The best thing to do first is to map out the indices. From there, you will be able to see what groups of data need to be plotted together to created the lines you want. I would use multiple plot commands to achieve this rather than a single command.
4 件のコメント
Cris LaPierre
2018 年 12 月 4 日
Hold on, your code works with a very minor adjustment.
MATLAB assumes series exist in columns. You are passing in a 342 x 2 for X and Y, so it is plotting two lines, each with 342 points (columns 1 and 2). If you instead give it a 2 x 342 it will plot 342 lines with 2 points each - your node connections.
Is that enough for you to figure out how to modify your plot command?
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
