python制作图片贴纸,python
cbar_ax = fig.add_axes(..., zorder=-1)在轴之间排列z顺序。 ax.set_facecolor('none')使散点图的背景完全透明(默认为不透明白色,将所有内容隐藏在其后)。
请注意,所有使用斧头的东西都被合并为一层。一把斧头要么完全在另一把斧头的前面,要么完全在另一把斧头的后面。在每个轴内,元素可以具有自己的z顺序。
为了避免版权问题,并创建一个独立的示例,下面的代码使用了matplotlib随附的Ada Lovelace的图像。import numpy as np
import matplotlib.pyplot as plt
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
import matplotlib.cbook as cbook
np.random.seed(1234)
# load up Ada's image
with cbook.get_sample_data('ada.png') as image_file:
vortexRF = plt.imread(image_file)
imagebox = OffsetImage(vortexRF, zoom=0.2)
# initiate plot
fig, ax = plt.subplots()
# place Ada in plot
ab = AnnotationBbox(imagebox, (0, 0), frameon=False)
cbar_ax = fig.add_axes([0.6, .42, 0.3, 0.3], zorder=-1)
cbar_ax.add_artist(ab)
cbar_ax.axis('off')
# add scatter plot
ax.scatter(np.random.normal(np.tile(np.random.uniform(0, 1, 5), 1000), .1),
np.random.normal(np.tile(np.random.uniform(0, 1, 5), 1000), .1),
c=np.tile(['fuchsia', 'gold', 'coral', 'deepskyblue', 'chartreuse'], 1000),
s=3, alpha=0.2)
# comment that Ada should be in the background
ax.set_title("we want the dots to be in front of Ada")
# make the background of the scatter plot fully transparent
ax.set_facecolor('none')
plt.show()
PS:请注意,您还可以使用带有imshow的extent将图像添加到与散点图相同的轴上。默认情况下,extent用与图相同的数据坐标表示,顺序为(x0, x1, y0, y1)。这使事情变得更简单。但是,使用fig.add_axes的方法可以很好地保持图像的原始纵横比。ax.imshow(vortexRF, extent=[0.0, 0.4, 0.7, 1.1])
python制作图片贴纸,python
cbar_ax = fig.add_axes(..., zorder=-1)在轴之间排列z顺序。 ax.set_facecolor('none')使散点图的背景完全透明(默认为不透明白色,将所有内容隐藏在其后)。
请注意,所有使用斧头的东西都被合并为一层。一把斧头要么完全在另一把斧头的前面,要么完全在另一把斧头的后面。在每个轴内,元素可以具有自己的z顺序。
为了避免版权问题,并创建一个独立的示例,下面的代码使用了matplotlib随附的Ada Lovelace的图像。import numpy as np
import matplotlib.pyplot as plt
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
import matplotlib.cbook as cbook
np.random.seed(1234)
# load up Ada's image
with cbook.get_sample_data('ada.png') as image_file:
vortexRF = plt.imread(image_file)
imagebox = OffsetImage(vortexRF, zoom=0.2)
# initiate plot
fig, ax = plt.subplots()
# place Ada in plot
ab = AnnotationBbox(imagebox, (0, 0), frameon=False)
cbar_ax = fig.add_axes([0.6, .42, 0.3, 0.3], zorder=-1)
cbar_ax.add_artist(ab)
cbar_ax.axis('off')
# add scatter plot
ax.scatter(np.random.normal(np.tile(np.random.uniform(0, 1, 5), 1000), .1),
np.random.normal(np.tile(np.random.uniform(0, 1, 5), 1000), .1),
c=np.tile(['fuchsia', 'gold', 'coral', 'deepskyblue', 'chartreuse'], 1000),
s=3, alpha=0.2)
# comment that Ada should be in the background
ax.set_title("we want the dots to be in front of Ada")
# make the background of the scatter plot fully transparent
ax.set_facecolor('none')
plt.show()
PS:请注意,您还可以使用带有imshow的extent将图像添加到与散点图相同的轴上。默认情况下,extent用与图相同的数据坐标表示,顺序为(x0, x1, y0, y1)。这使事情变得更简单。但是,使用fig.add_axes的方法可以很好地保持图像的原始纵横比。ax.imshow(vortexRF, extent=[0.0, 0.4, 0.7, 1.1])