我有一個矩陣,其中一些值有-1
,表示存在錯誤。通常我只是使用ylim([0 100])
在我的圖表中不顯示這些值,但使用線圖時,連接仍然會下降到這一點。我想要一個由線組成的圖表,而不是散點圖。在繪製直線時忽略負值並在MATLAB中使用繪圖函數時僅連接正值有一種簡單的方法嗎?如何忽略使用matlab繪製線條圖時負值的值?
我寫了一個小例子程序,其行爲相似,但我使用的方式似乎有點「太複雜」,我想知道是否有更簡單的方法來實現此目的。它工作正常,因爲我把值設置爲NaN
,現在x
和y
值是相同的數量。但是,刪除或整理矢量中的值將導致不同的值x
和y
值。
我希望修改或標誌什麼的。
x = 2*rand(10) - rand(10)
xx = 10:10:100;
figure;
for i=1:length(x)
for j=1:length(x(i,:))
if x(i,j) < 0
x(i,j) = NaN;
end
end
end
plot(xx,x)
請注意,這只是一個例子,整個代碼會過大,張貼在這裏。
當具有非對應x
- 值(使得繪圖功能只是使用1,2,3...
等用於對應的y
值)這可以通過使用
plot(x(x>0))
在這種情況下可以實現,相應的值是不同的,在真實的代碼中他們是測量數據,在這裏我簡單地使用第10步來簡化。
x = 2*rand(10) - rand(10)
xx = 10:10:100;
plot(xx,x(x>0))
上面的代碼將錯誤消息「向量必須是相同的長度」。
你有一個你想要繪製的矢量,它包含你想刪除的負值? –
我不想刪除負數,我希望它們不出現在圖中,以便在使用線圖時線不會連接到此值。 – Kev1n91
我只是想確定我理解正確。你想繪製一個沒有負值的矢量? –