文章目录

  • 一、Matplotlib简介
  • 二、散点图
    • 第1步:导入数据
    • 第2步:拆分成训练集和测试集
    • 第3步:使用简单线性回归模型来训练训练集
    • 第4步:绘制散点图
  • 二、线图
  • 三、等高线图
    • 第1步:定义一个计算高度用的函数
    • 第2步:创建一个等差数列
    • 第3步:将等差数列绑定为网格的形式
    • 第4步:等高划分并填色
  • 四、运行结果展示
    • 1. 散点图
    • 2. 线图
    • 3. 等高线图
  • 五、函数讲解
    • 1. scatter()
    • 2. plot()
    • 3. linspace()
    • 4. contourf()

-----代码传送门-----
-----数据传送门-----

一、Matplotlib简介

Matplotlib是一个数据可视化神器,画图用的。涉及散点图、线图、等高线图、条形图、柱状图、3D图形、饼图、Image图像、灰度图。

这里主要介绍如何绘画机器学习中常用到的一些图像。

二、散点图

第1步:导入数据

import pandas as pd
dataSet = pd.read_csv('studentscores.csv')X = dataSet.iloc[ : , : -1]
Y = dataSet.iloc[ : , 1]

第2步:拆分成训练集和测试集

from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.25, random_state=0)

第3步:使用简单线性回归模型来训练训练集

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

第4步:绘制散点图

import matplotlib.pyplot as plt
plt.scatter(X_train, Y_train, color='red')
plt.show()

二、线图

数据沿用散点图数据

plt.plot(X_train, regressor.predict(X_train), color='blue')
plt.show()

三、等高线图

第1步:定义一个计算高度用的函数

def f(x,y):return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

第2步:创建一个等差数列

import numpy as np
n=256
x=np.linspace(-3,3,n)  #[-3,3],共256个点
y=np.linspace(-3,3,n)

第3步:将等差数列绑定为网格的形式

X,Y=np.meshgrid(x,y)

第4步:等高划分并填色

#等高划分并着色
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)#设置等高线
C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=0.5)#设置等高线的数值
plt.clabel(C,inline=True,fontsize=10)#设置坐标轴
plt.xlim(-3,3)
plt.ylim(-3,3)plt.show()

四、运行结果展示

1. 散点图

2. 线图

3. 等高线图

五、函数讲解

1. scatter()

plt.scatter(X_train, Y_train, color=‘red’)中的X_train,Y_train就是X和Y轴的坐标,形状为shape(n, )。更多用法见:sactter函数详解

2. plot()

plt.plot(X_train, regressor.predict(X_train), color=‘blue’),用法和scatter()差不多,不同的是scatter()画的是点,plot() 画的是线。

3. linspace()

np.linspace(-3,3,n)

它是创建等差数列的函数,返回ndarray类型数据。起点为3,终点为3,n为步长,如果n=1,则返回array([ -3., -2., -1., 0., 1., 2., 3.])

4. contourf()

plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)

contourf(contour等高线+filling);8 表示等高线分为多少部分,0->2部分,1->3部分,8->10部分;alpha=0.75表示图形的透明度,如果alpha=0那么图形的颜色为白,f(X,Y)第三个参数表示高度,不同高度域颜色就会不同。

到后面遇到了新的图,我会同步更新这篇博客的。

机器学习第6天:数据可视化神器--Matplotlib相关推荐

  1. 【组队学习】【32期】数据可视化(Matplotlib)

    数据可视化(Matplotlib) 航路开辟者:杨剑砺.杨煜.耿远昊.李运佳.居凤霞 领航员:王万 航海士:范歆琦.张文恺 基本信息 开源内容:https://github.com/datawhale ...

  2. 【组队学习】【31期】数据可视化(Matplotlib)

    数据可视化(Matplotlib) 航路开辟者:杨剑砺.杨煜.耿远昊.李运佳.居凤霞 领航员:贾献华 航海士:杨剑砺.郭棉昇.张文恺.肖桐 基本信息 开源内容:https://github.com/d ...

  3. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化--使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 转载请注明网址:https://www.cnblogs.com/pengsky2016/p/812 ...

  4. 《Python数据可视化之matplotlib实践》配套代码

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx <Python数据可视化之matplotlib实践> 借助matplotlib讲解 ...

  5. Python 数据可视化神器分享:pyecharts

    Python 数据可视化神器分享:pyecharts Python 数据可视化神器分享:pyecharts 我们都知道python上的一款可视化工具matplotlib,而前些阵子做一个Spark项目 ...

  6. 【组队学习】【35期】数据可视化(Matplotlib)

    数据可视化(Matplotlib) 航路开辟者:杨剑砺.杨煜.耿远昊.李运佳.居凤霞 领航员:武帅 航海士:叶庭云.李显.郭棉昇 基本信息 开源内容:https://github.com/datawh ...

  7. 【组队学习】【33期】数据可视化(Matplotlib)

    数据可视化(Matplotlib) 航路开辟者:杨剑砺.杨煜.耿远昊.李运佳.居凤霞 领航员:王森 航海士:肖明远.郭棉昇 基本信息 开源内容:https://github.com/datawhale ...

  8. python中文显示不出来_Python数据可视化利器Matplotlib,无法显示中文,怎么办?...

    原标题:Python数据可视化利器Matplotlib,无法显示中文,怎么办? matplotlib无法显示中文主要是因为默认字体不是中文字体,所以我们只需设置一下字体行了. 文字字体设置主要有两种方 ...

  9. python绘制不带颜色曲线图_Python数据可视化库-Matplotlib——折线图,子图绘制

    # coding:utf-8 import pandas as pd import numpy as np from matplotlib import pylab as plt # 导入数据可视化库 ...

最新文章

  1. 魔兽War3按键精灵Ⅱ(2012-9-4)
  2. SAP S/4 HANA新变化-FI数据模型
  3. .exe已停止工作_这几天我遇到了前所未有的问题windows10 1809 explorer.exe资源管理器频繁崩溃...
  4. 在Eclipse上搭建Android C开发环境
  5. 用了GradientDrawable后,当点击控件时,控件大小发生变化
  6. 国内开源社区软件 PHPWind 团队已解散
  7. 电动车式的爱情,有你有我有爱、青春不再,人生无悔!
  8. win10 windows按钮右键没有命令提示符
  9. mybatis类型检测的不足
  10. Aqua - Mac OS X平台的用户界面(user interface)
  11. 智能农场 阳光温湿度 检测 远程控制开关 机智云
  12. 织梦dedecms网站地图生成在根目录的开发教程
  13. Node的文件系统及Buffer概述
  14. IP地址规划设计实验
  15. 两台计算机之间的直连
  16. 加速度随机游走_VIO学习之公式推导——IMU篇
  17. [记录学习]自学动力节点老杜Spring6笔记_01
  18. 基于视频行人重识别--解决遮挡问题
  19. A Transformer-based Approach for Source code Summarization 翻译
  20. nodejs express 模板引擎(ejs )

热门文章

  1. (*p)++和*(p++)和*p++的区别
  2. Java把List转换为String使用stream(functional programming in java)
  3. python绘图subplots函数使用模板
  4. CSP认证201809-1 卖菜[C++题解]:遍历
  5. 2021考研数学一李林4套卷整理
  6. python中keyboardinterrupt_如何防止代码块在Python中被KeyboardInterrupt中断?
  7. 动态规划 dp01 西瓜分堆问题 c代码
  8. python time localtimeq获取准确时间_Python时间模块datetime、time、calendar的使用方法
  9. 后端传前端中文显示都是问好_前后端分离,后台返回的数据前端没法写,怎么办?...
  10. python测试之道进阶,Pytest-Mock 进阶用法详解