假设我正在绘制一组以图像为背景的点.我在示例中使用了Lena图像:
import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import imread
np.random.seed(0)
x = np.random.uniform(0.0,10.0,15)
y = np.random.uniform(0.0,10.0,15)
img = imread("lena.jpg")
plt.scatter(x,y,zorder=1)
plt.imshow(img,zorder=0)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这给了我
.
我的问题是:如何在图中指定图像的角坐标?让我们说我想要左下角x, y = 0.5, 1.0和右上角x, y = 8.0, 7.0.
我想使用matplotlib在图像背景上绘制图形.我在matlab中找到了如何做到这一点http://www.peteryu.ca/tutorials/matlab/plot_over_image_background
我尝试过像这样基本的东西:
im = plt.imread("dd.png")
implot = plt.imshow(im)
theta=np.linspace(0,2*np.pi,50)
z=np.cos(theta)*39+145
t=np.sin(theta)*39+535-78+39
plt.plot(z,t)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但它给了我一些非常丑陋的东西:

有没有办法让图像半透明?
伪代码是这样的:
from PIL import Image
image = Image.open('image.png')
image = alpha(image, 0.5)
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了几个小时,但我找不到任何有用的东西.