Python绘制分类图的方法
作者:江北20190411 时间:2021-08-10 04:09:13
前言
遥感影像分类图一般为特定数值对应一类地物,用Python绘制时,主要在颜色的映射和对应的图例生成。
plt.matplotlib.colors.ListedColormap支持自定义颜色。matplotlib.patches mpatches对象可以生成一个矩形对象,控制其颜色和地物类型的颜色对应就可以生成地物分类的图例了。具体用法可以自行Google和百度。下面给出一个模拟地物分类数据的可视化例子。
代码
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
data = np.random.randint(0, 3, size=(100,100))
colors = dict((
(0, (0, 255, 0, 255)), # 前三位RGB,255代表256色
(1, (0, 0, 255, 255)),
(2, (255, 255, 0, 255)),
))
# 转换为0-1
for k in colors:
v = colors[k]
_v = [_v / 255.0 for _v in v]
colors[k] = _v
index_colors = [colors[key] if key in colors else
(255, 255, 255, 0) for key in range(0, len(colors))]
cmap = plt.matplotlib.colors.ListedColormap(index_colors, 'Classification', len(index_colors)) # n等于颜色表长度,否则被截断或被重复
# cmap = plt.matplotlib.colors.ListedColormap(['gray', 'orange', 'k'], 'Classification')
plt.rcParams['font.family'] = 'Arial'
plt.rcParams['font.size'] = 10
plt.rcParams['font.weight'] = 'bold'
fig, ax = plt.subplots(figsize=(4,3.5), dpi=300)
ax.imshow(data, cmap=cmap, interpolation='none')
# 绘制矩形的补丁, 用来生成图例,fig.add_artist()才会在图中显示出来
import matplotlib.patches as mpatches
rectangles = [mpatches.Rectangle((0, 0,), 1, 1, facecolor=index_colors[i])
for i in range(len(index_colors))]
labels = ['forest',
'water',
'urban']
ax.legend(rectangles, labels,
bbox_to_anchor=(1.4, 0.25), fancybox=True, frameon=False,)
# 取消刻度和标签显示
ax.tick_params(which='major', bottom=0, left=0)
ax.set_xticklabels('')
ax.set_yticklabels('')
效果图:
来源:https://blog.csdn.net/tk20190411/article/details/115799071
标签:Python,分类图
0
投稿
猜你喜欢
理清mysql外链的含义和命令
2010-03-09 15:55:00
自适应网页设计(Responsive Web Design)
2012-05-02 10:49:07
Oracle 数据库 临时数据的处理方法
2009-07-02 11:48:00
ASP动态包含文件的改进方法
2009-01-05 12:22:00
如何固定表格的标题行和标题列
2007-09-20 13:03:00
Python使用Scrapy爬取妹子图
2022-06-17 23:47:41
asp如何使用MsChart制图工具?
2010-06-05 12:40:00
Go语言中的匿名结构体用法实例
2023-07-07 11:10:21
Python GDAL库在Anaconda环境中的配置方法
2021-09-13 18:51:22
Task List 管理任务JavaScript源码
2010-01-22 15:43:00
keras分类模型中的输入数据与标签的维度实例
2022-01-30 02:12:43
用 JS 来控制 target 链接属性
2007-10-08 12:59:00
Python装饰器代码详解
2021-04-28 23:16:03
详解python函数传参是传值还是传引用
2023-11-13 13:25:58
SQL Server 2005 FOR XML嵌套查询使用详解
2009-01-06 11:20:00
Python 开发工具PyCharm安装教程图文详解(新手必看)
2023-04-25 05:01:08
python 解压pkl文件的方法
2022-01-11 02:41:55
Python数据可视化编程通过Matplotlib创建散点图代码示例
2022-01-04 17:23:34
python模块之paramiko实例代码
2022-08-08 08:34:51
pip如何用pipdeptree查看包依赖
2022-07-28 01:56:26