.imshow()画图添加图例方法

当使用ax.imshow()函数画图时,无法简单的像使用plt.plot(label=xxx)时添加图例。
.imshow()的使用方法不再赘述。假设你要画的数组为base_map为:

base_map = [
            "SSSDD",
            "SDSSD",
            "DSSDD",
            "SSDSD",
            "DSSSG"
            ]

添加图例可以使用这段代码:

base_map = np.array([list(s) for s in base_map])
elements = np.unique(base_map)

map_to_plot = np.zeros_like(base_map, dtype=float)

for i, el in enumerate(elements):
    map_to_plot[base_map == el] = float(i)
plt.tick_params(axis='both',
               which='both',
               bottom=False,
               left=False,
                labelbottom=False,
                labelleft=False)
im = plt.imshow(map_to_plot)
if legend:
    # pdb.set_trace()
    # values = np.unique(map_to_plot.ravel())
    values = np.array([0., 0.5, 1])
    colors = [im.cmap(im.norm(value)) for value in values]
    labels = ['Danger', 'Goal', 'Safe']
    patches = [
        mpatches.Patch(color=colors[i], label=labels[i])
        for i in range(len(values))]
    plt.legend(handles=patches, bbox_to_anchor=(1.01, 1), loc=2,
               borderaxespad=0., frameon=False)

结果如图:
在这里插入图片描述

要在Python画图加上图注,可以使用PIL库和pyplot库。首先,导入所需的库。然后,读取图片并设置字体样式和大小。接下来,设置字体颜色和图片的分辨率。最后,使用draw.text()函数在指定位置写入图注。保存并显示图片即可。 以下是一个示例代码: ```python from PIL import Image, ImageDraw, ImageFont import matplotlib.pyplot as plt # 打开图片 img = Image.open('beauty.jpg') draw = ImageDraw.Draw(img) # 设置字体和大小 myfont = ImageFont.truetype('C:/windows/fonts/Arial.ttf', size=80) # 设置字体颜色 fillcolor = "#CC3299" # 读取图片的size,也就是宽度和高度 width, height = img.size # 在(30,30)的位置开始写图注 draw.text((30, 30), 'Hello', font=myfont, fill=fillcolor) # 保存图片 img.save('result.jpg') # 显示图片 plt.imshow(img) plt.show() ``` 这段代码会在图片的左上角位置(30,30)处添加一个大小为80的粉红色的图注"Hello"。你可以根据需要修改位置、字体大小、颜色等参数。 #### 引用[.reference_title] - *1* *2* [用Python在图片上添加注释信息](https://blog.csdn.net/qq_42257666/article/details/122135600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python 画图 图例添加字体](https://blog.csdn.net/qq_40037127/article/details/125888130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值