3

凡例の線を、コードで設定した線の色と幅に一致させるのに問題があります。多くの方法を試し、MATLAB ヘルプを読みましたが、私はプログラマーではないので、何をすべきかよくわかりません。また、このサイトで私の問題に似たいくつかの質問と回答を参照して解決策を見つけようとしましたが、試行錯誤して凡例を編集しましたが、おわかりのように、実際にはうまくいきませんでしたそれが私がここにいる理由です。誰か助けてくれませんか?どうもありがとうございました!

これは私のグラフの画像です:http://i.stack.imgur.com/rLq4p.jpg

そして、私のコードは以下にあります:

clf 
hold on
x = [-55:0.001:65];
y = log(abs(x-31)./(sqrt(x.^2+86)));
plot(x,y);
xlabel('x axis');
ylabel('y axis');
title('Graph of function');

a= -2.7742;
fa=log(abs(a-31)./(sqrt(a.^2+86)));
plot(a,fa,'s');

b= -10.39
fb=log(abs(b-31)./(sqrt(b.^2+86)));
plot(b,fb,'o');

bday=31
vertaxis= [-12:0.1:2]
plot(bday,vertaxis,'LineWidth',2,'color','red');

horizontalaxis=[-55:0.1:65]
horizontal=0
plot(horizontalaxis,horizontal,'LineWidth',2,'color','m');

plot([-55 -10.39],[-12 -12],'LineWidth',10,'color','c');
plot([-10.39 31],[-12 -12],'LineWidth',10,'color','y');
plot([31 65],[-12 -12],'LineWidth',10,'color','g');

legend('function','local maxima','Inflection point','vertical asymptote','horizontal asymptote','concave up','concave down','concave down','Location','Best');
4

1 に答える 1

1

次の行を置き換えます。

horizontalaxis=[-55:0.1:65]';
horizontal=zeros(length(horizontalaxis),1);
plot(horizontalaxis,horizontal,'LineWidth',2,'color','m'); 

vertaxis= [-12:0.1:2]';
bday=31.*ones(length(vertaxis),1);
plot(bday,vertaxis,'LineWidth',2,'color','red'); 

そして、それは大丈夫です。

ここに画像の説明を入力

コメントで既に述べたように、問題は、実際には漸近線の線をプロットしていたのではなく、1000 を超える単一の点をプロットしていたことでした。したがって、「凹型」の凡例は少し遅れて表示されます;)

また、元のプロットに連続線ではなく点線があることもわかります。


編集:

plot([-55,65],[0,0],'LineWidth',2,'color','m'); 
plot([31,31],[-12,2],'LineWidth',2,'color','red');

実際には十分でしょう。青/黄/緑の線について以下で行ったように

于 2013-11-11T11:52:13.883 に答える