小编Nic*_*ick的帖子

在图像上绘制线条与坐标不匹配。Python

当我在图像上按顺序绘制点时,它们会按预期显示:

import numpy as np
import matplotlib.pyplot as plt
#display in a jupyter notebook
%matplotlib inline 
#make and display data 
image = np.full((50,60,), 0, dtype = 'float32')
image[10:20, 10:20] = .5
image[10,20, 30:40] = .5
plt.plot(15,15, 'y*')
plt.plot(35,15, 'b*')
plt.imshow(image)
Run Code Online (Sandbox Code Playgroud)

绘制在图像上的点

但是当我尝试在这两个点之间绘制一条线时,它似乎使用了不同的轴约定:

plt.plot([15,15], [35,15], 'y-')
plt.imshow(image) 
Run Code Online (Sandbox Code Playgroud)

诡异的情节

如果我在行中指定一组点,它工作正常:

line_x = np.array(range(15,35))
line_y = np.repeat(15, 20)
plt.plot(line_x, line_y, 'y-')
plt.imshow(image)
Run Code Online (Sandbox Code Playgroud)

指定的线点

我猜 matplotlib 为这些绘图任务使用了不同的轴约定,但我很困惑为什么这会在绘制连续点时起作用,但在绘制两点之间的连接线时不起作用?

上下文:我正在使用 skimage.measure.profile_line http://scikit-image.org/docs/dev/api/skimage.measure.html执行线扫描。您可以使用此函数指定线扫描的开始和停止,但我想直观地演示线扫描在图像中的位置。

python plot image matplotlib jupyter-notebook

4
推荐指数
1
解决办法
2168
查看次数

标签 统计

image ×1

jupyter-notebook ×1

matplotlib ×1

plot ×1

python ×1