Re: [問題] Legend 繪圖的問題.已回收

看板MATLAB作者 (神無月 孝臣)時間16年前 (2010/02/04 14:10), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《Jerryamd (Let's go cubbies)》之銘言: : figure(4) : X1=-0.05; : X2=0; : u1=0.2.*YY-0.2.*(X1.^2).*YY-0.4.*(YY.^3); : u2=0.2.*YY-0.2.*(X2.^2).*YY-0.4.*(YY.^3); : plot(u1,Y,'g',u2,Y,'--r') : hold on : xlabel('U vector') : ylabel('U vector y value') : title('U vector y value at X point') : legend('X=-0.05','X=0',2) : 感謝回答的前輩..謝謝 你的u1不是一個vector 是一個100x100的矩陣 而你的Y是一個1x100的vector 所以使用plot( u1 , Y )會畫出來100條線非只有一條線 而你u1那100個column又全長一模一樣 所以畫出來的100條線會全都疊在一起而像是只有一條線 其後的plot( u2 , Y )也是一樣 u2的100個column完全相同 一樣是變成100條線疊在一起而看起來只有一條線 因此你並不是畫出兩條線而已 而是一口氣畫了200條線 legend是由畫線順序來決定怎麼標的 所以你讓legend標兩條線出來 它自然選擇圖裡200條線之中的前兩條線來標 也就是100條綠線中最前的兩條(雖然是疊在一起) 不過我對你整個問題不是很了解 像是u1和u2的矩陣形式代表著什麼意義我不太清楚 所以如果只是單純對這張圖做處理的話 畫圖那行改成plot( u1( : , 1 ) , Y , 'g' , u2( : , 1 ) , Y , '--r' )即可 其他變數先不作任何更動以免影響運算 其實這種用矩陣一口氣畫一堆線也是有方法控制legend要標哪幾條啦 不過這裡應該是不須要使用到 -- Deserves death! I daresay he does. Many that live deserve death. And some die that deserve life. Can you give that to them? Then be not too eager to deal out death in the name of justice, fearing for your own safty. Even the wise cannot see all ends. Gandalf to Frodo -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.24.116

02/04 16:58, , 1F
感謝您的回答。.我再試著修改程式碼看看...謝謝你
02/04 16:58, 1F
文章代碼(AID): #1BQcJkqD (MATLAB)
文章代碼(AID): #1BQcJkqD (MATLAB)