最近刚开始学习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轴发生了变化

博主此前做Android开发,考研后研究生阶段转向计算机视觉与图像处理方向,跟随大方向转学Python。记录了刚接触Matplotlib库绘图时关于点坐标的问题,介绍了绘图代码、plot方法参数,还提及加载图片作背景时坐标轴的变化。
1万+

被折叠的 条评论
为什么被折叠?



