当我在图像上按顺序绘制点时,它们会按预期显示:
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)
但当我试图在这两个点之间绘制一条线时,它似乎使用了不同的坐标轴约定:
plt.plot([15,15], [35,15], 'y-')
plt.imshow(image)
如果我在线中指定点的数组,那么它可以正常工作:
line_x = np.array(range(15,35))
line_y = np.repeat(15, 20)
plt.plot(line_x, line_y, 'y-')
plt.imshow(image)
我猜测matplotlib在这些绘图任务中使用了不同的轴约定,但是我对为什么在绘制连续点时能够起作用,而在绘制连接两个点之间的线时却不能理解?
背景:我正在使用skimage.measure.profile_line进行线扫描http://scikit-image.org/docs/dev/api/skimage.measure.html。你可以使用该函数指定线扫描的起始点和终止点,但我想在我的图像中直观地展示我的线扫描位置。