1. 程式人生 > >Matlab作圖:等間距座標距離表示不等間距資料值

Matlab作圖:等間距座標距離表示不等間距資料值

           大家在寫論文的時候不可避免的需要畫出實驗結果圖,當然常用的畫圖軟體也是五花八門,簡單的比如excel,當然流程圖的話也可以用VISIO,excel畫出來的圖看起來不是那麼美觀,所以比較常用的是MATLAB和Python。由於對Python瞭解不多,樓主在作圖時使用的是MATLAB,大家在作圖時都可以遇到等間距的座標距離要表示不等間距的數值,也就是資料間的跳躍性比較大,並且也是不規律的,這個時候應該怎麼辦哪?

      樓主在網上發現問這個問題的人較多,但給出答案的較少,廢話不多說,直接上乾貨!

      比如要在一張圖中顯示y1,y2兩個函式關於x的變化趨勢,處理的資料為:

       x軸:1    5    13   30   48  77  100  142

       y1: 1.3  2.1 3.6  4.7  7.8 8.0  8.3   8.1

       y2: 0.9  1.8 5.6  6.4  8.5 9.8  9.3   9.9

能夠明顯看出x的變化沒有什麼規律,且資料之間的間隔也不相同,在使用Matlab作圖時使用如下程式碼:


x = [1,5,13,30,48,77,100,142];
ind=1:length(x);


y1 =[1.3,2.1,3.6,4.7,7.8,8.0,8.3,8.1];
y2 =[0.9,1.8,5.6,6.4,8.5,9.8,9.3,9.9];

plot(ind,y1,'s-',ind,y2,'s-');

set(gca,'XTick',ind);
set(gca,'XTickLabel',{'1','5','13','30','48','77','100','142'});
則可得到影象如下:



從圖片的x軸能夠明顯看出來已經將不等間距的資料表示成了等間距的座標距離。,matlab的功能還是很強大的,另外還有一些功能就不在這裡一一介紹了。