机器学习:Jupyter Notebook中Matplotlib的使用
一、matplotlib绘制折线图
- matplotlib绘图的实质是折线图,将所有的点用直线连接起来,由于距离比较密,看起来像是个平滑的曲线;
- import matplotlib as mpl:加载matplotlib模块;
- from matplotlib import pyplot as plt:一般多用matplotlib的子模块pyplot,然后直接调用pyplot的相应函数即可;
- 最简单的绘图:
from matplotlib import pyplot as plt
import numpy as np # 从[0, 10]区间内,等分取出100个点(包含0和10);
x = np.linspace(0, 10, 100)
y = np.sin(x) # 绘制以x为横轴,y为纵轴,绘图,生成matplotlib.lines.Line2D对象
plt.plot(x, y) # 使用plt的show函数显示图线对象
plt.show() - 一个图内绘制多条曲线:
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(0, 10, 100)
siny = np.sin(x)
cosy = np.cos(x) # 绘制多条曲线后再显示所有的线,才可以在同一个图内显示多条线
plt.plot(x, siny)
plt.plot(x, cosy)
plt.show() - 改变线条颜色、线型、坐标轴范围(x轴、y轴的范围):具体颜色种类和线型的种类可查matplotliib文档;“:”:表示"...."点虚线、“-.”:表示“-.-.-.-.-.”横杠 + 点、“--”:两个横杠表示“------”横杠虚线、“-”:一个横杠表示默认实线;
plt.plot(x, siny) # 将cosy曲线的颜色调整为红色,线型为虚线
plt.plot(x, cosy, color = 'red', linestyle = '--') # 分别限定横纵坐标范围:横轴在[5, 8],纵轴在[0, 1]
plt.xlim(5, 8)
plt.ylim(0, 1) # 也可以同时限定两个坐标轴的范围,默认两面两个参数为横坐标范围,后面两个参数为纵坐标范围
plt.axis([5, 8, 0, 1]) plt.show() - 添加坐标轴的label、曲线的图式、图标的title:
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(0, 10, 100)
siny = np.sin(x)
cosy = np.cos(x) # 添加图式:label
plt.plot(x, siny, label = 'sin(x)')
plt.plot(x, cosy, color = 'red', linestyle = '--', label = 'cos(x)') # 添加横、纵左边的名称
plt.xlabel("x axis")
plt.ylabel("y value") # 添加图表标题:title
plt.title('Welcome to the Machine-Learn World') # 显示图式label
plt.legend() plt.show()
二、matplotlib绘制散点图:Scatter Plot
- 直接调用plt.scatter()函数即可,和plt.plot()用法一样
- 对于折现图,横轴表示特征,纵轴表示取值;
- 对于散点图,通常横、纵两个轴均表示特征,对用于绘制二维特征:将特征点打在图像上,用不同的颜色代替label;
- 绘制简单散点图:
from matplotlib import pyplot as plt
import numpy as np x = np.linspace(0, 10, 100)
siny = np.sin(x)
cosy = np.cos(x) # 添加图式:label
plt.scatter(x, siny)
plt.scatter(x, cosy, color = "red")
plt.show() - 设置散点的透明度:0~1,0表示全透明,1表示完全不透明;
x = np.random.normal(0, 1, 10000)
y = np.random.normal(0, 1, 10000) # 透明度设置为0.5
plt.scatter(x, y, alpha = 0.5) - 散点图有很多样式,可查看matplotlib文档了解;
机器学习:Jupyter Notebook中Matplotlib的使用的更多相关文章
- 第三十六篇 入门机器学习——Jupyter Notebook中的魔法命令
No.1.魔法命令的基本形式是:%命令 No.2.运行脚本文件的命令:%run %run 脚本文件的地址 %run C:\Users\Jie\Desktop\hello.py # 脚本一旦 ...
- 解决在jupyter notebook中遇到的ImportError: matplotlib is required for plotting问题
昨天学习pandas和matplotlib的过程中, 在jupyter notebook遇到ImportError: matplotlib is required for plotting错误, 以下 ...
- 机器学习:Jupyter Notebook中numpy的使用
一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...
- 非线性函数的最小二乘拟合及在Jupyter notebook中输入公式 [原创]
突然有个想法,能否通过学习一阶RC电路的阶跃响应得到RC电路的结构特征——时间常数τ(即R*C).回答无疑是肯定的,但问题是怎样通过最小二乘法.正规方程,以更多的采样点数来降低信号采集噪声对τ估计值的 ...
- jupyter notebook中No module named 'tensorflow'
当我们在jupyter notebook中运行时可能会遇见没有某个包的情况,如下: ---------------------------------------------------------- ...
- 在jupyter notebook中同时安装python2和python3
之前讨论过在anaconda下安装多个python版本,本期来讨论下,jupyter notebook中怎样同时安装python2.7 和python3.x. 由于我之前使用的jupyter note ...
- TensorFlow Jupyter Notebook 和matplotlib安装配置
Jupyter Notebook 和matplotlib Jupyter Notebook安装 Python 3 : python3 -m pip install --upgrade pip pyth ...
- 在jupyter notebook中运行R语言
要想在jupyter notebook中运行R语言其实非常简单,按顺序安装下面扩展包即可: install.package('repr','IRdisplay','evaluate','crayon' ...
- 在jupyter notebook 中同时使用安装不同版本的python内核-从而可以进行切换
在安装anaconda的时候,默认安装的是python3.6 但是cs231n课程作业是在py2.7环境下运行的.所以需要在jupyter notebook中安装并启用python2.7版本 方法: ...
随机推荐
- python基础-第五篇-5.1冒泡排序
几个月过去了,小白逐渐对公司的后端服务熟悉了,不过这天小白又接到一封神秘邮件,是景女神发来的:公司急需一批对语言算法有些了解的优秀员工,鉴于你在公司的表现很不错,现在给到你一个培训机会,请速到开发部报 ...
- spring struts2整合
把struts2的action交给spring管理 一.导入相应jar包 导入与spring有关的基本jar包,和与struts2有关的基本jar包 还需要导入 struts2-spring整合jar ...
- Javamail 发送附件中文名过长以及乱码问题
最近在弄javamail发送邮件当邮件里含有附件并且附件是中文的时候发送后就会出现乱码!! 通过javax.mail.internet.MimeUtility.encodeText()就可解决这个 ...
- J2EE SSH框架整合教程
本文仅作为学习和研究的参考,与实际项目使用技术有所不同,由于作者水平有限,错误疏漏在所难免,请各位看官批评指教. 项目的源代码放在:https://github.com/Frank-Pei/SSHIn ...
- shell脚本默认变量值
脚本参数相关: $# 是传给脚本的参数个数 $ 是脚本本身的名字 $ 是传递给该shell脚本的第一个参数 $ 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单 ...
- 剑指offer之 数值的整数次方
问题描述:实现函数double power(double base,int exponent),求base的exponent次方.不能使用库函数,同时不需要考虑大数问题. package Proble ...
- Java强引用、 软引用、 弱引用、虚引用
Java强引用. 软引用. 弱引用.虚引用 2012-07-09 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也 ...
- cookie对比localStorage哪个适合作为网站皮肤存储
cookie对比localStorage哪个适合作为网站皮肤存储 cookie cookie : 一般由服务器生成,可设置失效时间.如果在浏览器生成,默认是关闭浏览器之后失效 存储大小:4k 每次都会 ...
- css3 点击爆炸下落
代码][JavaScript]代码 $(document).ready(function() { // Generate the clips. In this case ...
- Codeforces 876C Classroom Watch:枚举
题目链接:http://codeforces.com/contest/876/problem/C 题意: 定义函数:f(x) = x + 十进制下x各位上的数字之和 给你f(x)的值(f(x) < ...