最近剛開始學習Python語言,之前主做Android開發,經歷過一年考研,發現Android開發技術已經落後很多,並且研究生階段主做計算機視覺&圖像處理方向,另外Python已經成爲使用量最多的語言,爲跟隨導師及互聯網大方向,現轉Python。
剛接觸到Matplotlib庫繪圖,有一個關於點座標的問題想了好一會才明白,在這記錄下來。
先上代碼和效果:
from pylab import *
x = [100,200,400,400] #x座標點列表
y = [200,400,200,500] #y座標點列表
plot(x,y,'r*') #繪製點
plot(x,y) #繪製線
plot(x[:2],y[:2]) #繪製線
show() #顯示圖像
效果:
再說一下代碼:
- 首先第一行是引入庫,在java中直接寫import,而在Python中要先寫from。
- 然後定義xy座標的list,在這裏我第一眼根本沒明白這個座標是怎麼對應的,比如x = [100,200,400,400],難道這裏代表兩個點(100,200)和(400,400)嗎??看到效果圖之後可以看到顯然不是。
那麼這裏究竟是怎麼描述點的座標的呢,這裏我們定義了兩個list,一個x,一個y,他們形成的點是這樣的:
這樣就和我們的效果圖對應上了 - 加下來是主要繪製方法plot,plot()方法接受三個參數,前兩個是座標list,用來確定點位置,最重要的是第三個參數,用來確定究竟怎麼畫,如果不加此參數,默認繪製藍色線。
對於第三個參數可以參考下表:
1、控制顏色:
參數 | 含義 |
---|---|
‘b’ | 藍色 |
‘g’ | 綠色 |
‘r’ | 紅色 |
‘c’ | 青色 |
‘m’ | 品紅 |
‘y’ | 黃色 |
‘k’ | 黑色 |
‘w’ | 白色 |
2、控制線形
參數 | 含義 |
---|---|
‘-’ | 實線 |
‘–’ | 虛線 |
‘:’ | 點線 |
3、控制繪製點圖形(如果加上這個參數就會繪製點,不加是繪製線)
參數 | 含義 |
---|---|
‘.’ | 點 |
‘o’ | 圈 |
‘s’ | 正方形 |
‘*’ | 星形 |
‘+’ | 加號 |
‘x’ | 叉號 |
- 下面繪製線的時候都控制了開始點和結束點,如果不明白[:2]的含義可以再學習一下python的基礎知識
- 最後是顯示我們繪製的圖像,在每個腳本里面只能使用一次show,並且一般在最後調用。
另外,如果我們需要加載一個圖片作爲背景,座標軸會發生變化。
先上代碼和效果:
from PIL import Image
from pylab import *
im = array(Image.open('./2.jpg'))
imshow(im)
x = [100,200,400,400]
y = [200,400,200,500]
plot(x,y,'r*')
plot(x,y)
plot(x[:2],y[:2])
show()
效果:
通過和上面的效果圖對比,我們可以看到y軸發生了變化