フィルターのクリア

How do I plot a point on a graph?

1 回表示 (過去 30 日間)
Erick Santiago
Erick Santiago 2021 年 4 月 18 日
コメント済み: Robert Brown 2021 年 4 月 18 日
I want to plot my tau max on my Mohr's Circle graph which I was thinking was plot(C,R) but I am not getting any results. I also want it to display the value on the graph which should be 612.11
sigx=-30.90;
sigy=51.06;
tauxy=-610.74;
R=sqrt(((sigx-sigy)/2)^2+tauxy^2)
C=(sigx+sigy)/2
sig1=C+R
sig2=C-R
sigma=linspace(sig2,sig1,1000);
tau1=sqrt(R^2-(sigma-C).^2);
tau2=-tau1;
plot(sigma,tau1,'b',sigma,tau2,'b')
title('Mohrs Circle (1672.13 lbs)')
xlabel('\sigma(psi)')
ylabel('\tau(psi)')
axis('square')
hold on
plot([sig1,sig2],[0,0],'k')
plot([sigx,sigy],[-tauxy,tauxy],'g')
grid on;

回答 (1 件)

Robert Brown
Robert Brown 2021 年 4 月 18 日
編集済み: Robert Brown 2021 年 4 月 18 日
Add these lines to the bottom of your code, to plot the desired value as a red asterisk on the existing plot with the other data plotted. Then reference the plot handle "p_include", from a legend request, to get a legend with only this plot data value included. string( R) converts R to a string and assigns it as a name for the plot which plots it on the figure.
p_include = plot(C,R,'r*','DisplayName',string(R))
legend(p_include)
chances are, your added plot of C,R was being plotted as a tiny line segment, but you just couldn't see it on your plot since it only had 1 data point.
The red asterisk will make the data point show up more clearly on your plot, and the legend will contain the numerical value R of the max value
I hope this helps ! :-)
  3 件のコメント
Robert Brown
Robert Brown 2021 年 4 月 18 日
check update in original answer above...
Robert Brown
Robert Brown 2021 年 4 月 18 日
PS if my answer helped, please vote for it :-)
Just click on the little "vote" tag by my answer

サインインしてコメントする。

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by