最近刚开始学习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() #显示图像

效果:

Python绘图原理 python绘图简单_Image


再说一下代码:

  • 首先第一行是引入库,在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()

效果:

Python绘图原理 python绘图简单_Python_02


通过和上面的效果图对比,我们可以看到y轴发生了变化