文章目录

  • Github/GItee仓库地址
    • 矩形网格背景分类图(pcolormesh)
    • 决策树分类样例
      • 绘制分类背景
    • 完整分类散点图

Github/GItee仓库地址

  • ScienceGallery-Github
  • ScienceGallery-Gitee

矩形网格背景分类图(pcolormesh)

  • 使用非规则矩形网格创建伪颜色图;
  • 网格化的颜色图,可以通对背景的定义,可以直观的表现出分类边界;

决策树分类样例

  • 首先使用鸢尾花数据取两种变量拟合出分类模型
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# 使用经典的鸢尾花数据
inputdata = datasets.load_iris()
# 获取变量名称
iris_feature = ['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度']
target_name = inputdata.target_names.tolist()
# 取花萼长度和花瓣长度做为特征,训练决策树模型
x_train, x_test, y_train, y_test = train_test_split(inputdata.data[:,[0,2]], inputdata.target, test_size = 0.2, random_state=0)
# 拟合模型
model = DecisionTreeClassifier(criterion='entropy', min_samples_leaf=3)
model.fit(x_train, y_train)
  • 根据鸢尾花数据集的范围,蒙特卡洛随机生成大量样本数据
  • 利用样本数据点绘制分类背景
# 随机采样, 生成花萼长度和花瓣长度数据
# 蒙特卡洛思想, 随机模拟大量不同长度下的分类结果, 并作为分类背景
N, M = 500, 500  # 横纵各采样500个值,共250000个数据
# 在已有数据大小范围内生成数据
x1_min, x2_min = x_train.min(axis=0)
x1_max, x2_max = x_train.max(axis=0)
# 根据变量范围, 生成坐标轴
t1 = np.linspace(x1_min, x1_max, N)
t2 = np.linspace(x2_min, x2_max, M)
x1, x2 = np.meshgrid(t1, t2)  # 转换成下x,y坐标形式,生成网格采样点
x_show = np.stack((x1.flatten(), x2.flatten()), axis=1)  # x,y坐标位置分别对应输入两个变量
# 使用拟合模型验证,生成250000个数据的分类结果
y_predict = model.predict(x_show)

绘制分类背景

  • 设置Matplotlib基础参数
import matplotlib as mpl
import matplotlib.pyplot as plt
# 设置使中文正常显示
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
  • 绘制网格色块背景
fig, ax = plt.subplots(figsize=(6, 4),constrained_layout=True)
# 设定颜色colormap
cm_light = mpl.colors.ListedColormap(['#8ECFC9', '#FA7F6F', '#BEB8DC'])  # 背景图
cm_dark = mpl.colors.ListedColormap(['green', 'red', 'purple'])  # 散点图
# 绘制低饱和度色彩分类背景
ax.pcolormesh(x1, x2, y_predict.reshape(x1.shape), cmap=cm_light)

完整分类散点图

fig, ax = plt.subplots(figsize=(6, 4),constrained_layout=True)
# 设定颜色colormap
cm_light = mpl.colors.ListedColormap(['#8ECFC9', '#FA7F6F', '#BEB8DC'])  # 背景图
cm_dark = mpl.colors.ListedColormap(['green', 'red', 'purple'])  # 散点图
# 绘制低饱和度色彩分类背景
ax.pcolormesh(x1, x2, y_predict.reshape(x1.shape), cmap=cm_light)
# 更改坐标范围
ax.set_xlim(x1_min, x1_max)
ax.set_ylim(x2_min, x2_max)
# 绘制散点图
# 设置参数c:设定一组变量用来对应cmap颜色;y_train为分类结果
ax.scatter(x_train[:,0],x_train[:,1],c=y_train,cmap=cm_dark,marker='o',edgecolors='k')
# 去除坐标轴边线
ax.spines[['top','bottom','left','right']].set_visible(False)
# 增加坐标轴右侧刻度,并设置粗细
ax.tick_params(labelright = True,labelsize=14)
# 设置x轴标签
ax.set_xlabel('花萼长度',fontsize=15)
ax.set_ylabel('花瓣长度',fontsize=15)
ax.set_title('鸢尾花分类',fontsize=15)
plt.grid(visible=True,axis='both',ls=':')
plt.savefig('C:\Git Code\ScienceGallery\Picture\Grid_background.jpeg')

Python科学绘图 网格色块背景分类图 基于pcolormesh函数相关推荐

  1. python气象绘图技巧之箱线图

    python气象绘图技巧–seaborn catplot python气象绘图技巧--seaborn 前言 一.构建dataframe和seaborn分类? 二.使用步骤 1.引入库 2.数据分析 总 ...

  2. Python科学绘图实例附代码

    Python绘图精简实例附代码 作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 Python绘图精简实例附代 ...

  3. python海龟画笔速度_【判断题】Python海龟绘图中,设置画笔绘制速度的函数是speed()。...

    我国企业的会计核算一般以人民币为记账本位币.()A.正确B.错误 土石坝根据筑坝施工方法可以分为多种,其中应用最广泛的是().A.抛填式堆石坝B.定向爆破堆石坝C.碾 下列各种结算方式中,既可用于同城 ...

  4. python调用origin画图_Python科学绘图

    Python科学绘图 基于Python的跨平台绘图工具合集 Python科学绘图是一款基于Python3.6的绘图工具,创立这个项目的目的是为了给科研工作者们提供一个跨平台的数据图绘制解决方案. 针对 ...

  5. 使用python画k均值分类图

    欢迎关注公众号:老白和他的爬虫 昨天帮小余同学用python画了下k均值分类图,原理比较简单在这里分享一下. 首先小余同学已经用spss做好了族群分类,分类结果如图所示 一共有100条结果,这里只截取 ...

  6. python划分网格区域_分面网格分类图_Python数据分析与科学计算数据可视化篇:Matplotlib和Seaborn_机器学习视频-51CTO学院...

    购买本课程所在专题<Python数据分析师:0基础到数据分析达人>https://edu.51cto.com/topic/2570.html,赠送一本"Python相关图书&qu ...

  7. Python 数据可视化:Stack Graph 堆叠图,标准化堆叠柱形图,标准化的同时还能反应数据量大小的堆叠图(放入自写库,一行代码搞定复杂细节绘图)

    本文已在公众号 " 数据分析与商业实践 " 首发.关注一下~,更多商业数据分析案例源码等你来撩.后台回复 "堆叠图" ,即可获取本文的案例示范与包含详细注释的源 ...

  8. 如何用Seaborn描绘柱状图(条形图),箱线图,小提琴图,分类散点图,分面网格分类图,散点图(3)

    柱状图 x = ['金融','农业','制造业','新能源'] y = [163,86,125,58] sns.barplot(x,y) y = ['金融','农业','制造业','新能源'] x = ...

  9. Python使用Plotly绘图工具,绘制面积图

    今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...

  10. 科研论文绘图:ppt, word,latex,python matplotlib绘图 ,矢量图,高清图,放大不失真

    目录 1. 用PPT绘图,保存为高清图片,不推荐使用,方法链接 2. 用PPT绘图,保存为emf矢量图,适合插入word,方法链接 3. 用PPT画图,保存为eps文件,适合插入latex,方法链接 ...

最新文章

  1. Flutter开发之BottomSheetDialog选择组件-5(44)
  2. 【AI2】app inventor2离线开发环境百度网盘下载链接,安卓app图形化开发环境
  3. VTK:Utilities之ShepardMethod
  4. delphi7下安装TMS component
  5. org.tinygroup.databasebuinstaller-数据库结构及元数据自动创建
  6. python 对象引用、可变性 和 垃圾回收
  7. ExtJs2.0学习系列(8)--Ext.FormPanel之第五式(综合篇)
  8. 【BZOJ3107】二进制a+b,DP
  9. 深圳出差 第一天【原创】
  10. 从0开始学习 GitHub 系列之「05.Git 进阶」
  11. 基于NTT的循环码:RS码、BCH码、RM码
  12. 开源免费CRM云端的客户管理系统SuiteCRM简介(视频)
  13. 2018最新圣思园JavaSE实地培训系列视频教程
  14. HTTP、HTTPS常用的默认端口号
  15. python写一个数字字典生成器
  16. 【iOS沉思录】Objective-C语言的动态性总结(编译时与运行时)
  17. 音视频常见术语和接口收集
  18. vue项目-element UI-NavMenu 导航菜单始终只展开一个
  19. Second Normal Form(2NF)
  20. mud使用mysql_MUD

热门文章

  1. R语言使用t.test函数执行t检验验证总体均值是否是某个特定的值(从样本集推论总体均值)
  2. iso硬盘安装 凤凰os_凤凰系统安装教程-凤凰虚拟机2.0(Phoenix OS)下载v3.6.1可重启版-西西软件下载...
  3. java微信昵称处理_Java微信开发昵称表情符过滤
  4. 微信/QQ/TIM防撤回补丁
  5. NLTK使用方法总结
  6. 日程列表html,日程安排FullCalendar
  7. 申请免费领取阿里云服务器
  8. 研发团队管理--向下沟通
  9. 浏览器架构的误区和瘦客户端应用
  10. oracle同义词对象,oracle数据库对象-同义词