我正在尝试使用python进行关联图,所以我从这个基本示例开始
import numpy as np
import matplotlib.pyplot as plt
image=np.random.rand(10,10)
plt.imshow(image)
plt.colorbar()
plt.show()
好吧,这个脚本给我一个像这样的图像
所以下一步是放我的数据集,而不是随机矩阵,我知道,但我想在这个图中放一些轴或文字,并得到像这样的图像
这是一个非常漂亮的图像使用paint(lol),但有人可以说我需要遵循什么样的方式做thik请(如何在谷歌搜索)。
在发布之前我想在标签中,但我认为我只能为每个轴分配一个标签
欢呼声
答案 0 :(得分:1)
正如@tcaswell在评论中所说,您要使用的功能是注释,documentation can be found here。
我在下面使用您的代码给出了一个示例:
import numpy as np
import matplotlib.pyplot as plt
def annotate_axes(x1,y1,x2,y2,x3,y3,text):
ax.annotate('', xy=(x1, y1),xytext=(x2,y2), #draws an arrow from one set of coordinates to the other
arrowprops=dict(arrowstyle='<->'), #sets style of arrow
annotation_clip=False) #This enables the arrow to be outside of the plot
ax.annotate(text,xy=(0,0),xytext=(x3,y3), #Adds another annotation for the text
annotation_clip=False)
fig, ax = plt.subplots()
image=np.random.rand(10,10)
plt.imshow(image)
plt.colorbar()
#annotate x-axis
annotate_axes(-0.5,10,4.5,10,2.5,10.5,'A') # changing these changes the position of the arrow and the text
annotate_axes(5,10,9.5,10,7.5,10.5,'B')
#annotate y-axis
annotate_axes(-1,0,-1,4,-1.5,2,'A')
annotate_axes(-1,4.5,-1,9.5,-1.5,7.5,'B')
plt.show()
这给出了如下所示的图像: