在jupyter notebook中使用matplotlib绘图的注意事项
标签: Python
在使用jupyter notebook时经常会用到matplotlib库,来实现交互式绘图,能够支持数据查看,数据位置确定,图像移动等功能
%matplotlib notebook(推荐)
在开头加上如下代码可以在jupyter notebook行内形成交互式的图表
%matplotlib notebook

%matplotlib
在开头加上如下代码可以在mac内形成交互式的图表,即会弹出图像窗口
%matplotlib

%matplotlib inline
开头加上如下代码可以显示图像,但无交互功能
%matplotlib inline

如果开头不加上面所说的代码,运行后也会形成一张干巴巴的图片,无法实现交互式功能

一个细节:在每个单元格运行后,图表被重置
使用jupyter notebook时有个细节需要注意,在每个单元格运行后,图表被重置,因此对于复杂的图标,你必须将所有的绘图命名放在单个的notebook单元格内(%matplotlib notebook和import matplotlib.pyplot as plt只要在最开头加一句就够了)


注意:如果要把jupyter notebook导出成markdown格式,那么你要把开头那句话改成%matplotlib inline,这样才会导出生成的图片(会自动放在同一个文件夹中)

VScode中用plt.show()
在VScode中使用%matplotlib会报错,正确做法是用plt.show()

plt.show() 保持图像打开,关闭图像才会继续往下运行代码

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2*np.pi, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(1)
plt.plot(x, y1)
plt.pause(2) # 在figure(1)上绘制sin曲线,2s后自动关闭窗口
plt.figure(2)
plt.plot(x, y2)
plt.pause(2) # 在figure(2)上绘制cos曲线,2s后自动关闭窗口
plt.pause(0) # 重新绘制figure(1)和figure(2),不会自动关闭
print(2)
智能推荐
Mac、ubuntu在终端和jupyter notebook中使用matplotlib画图无法显示中文
一、Mac系统 1、在Mac电脑上使用matplotlib画图,中文无法显示,在终端用fc-list :lang=zh显示command not found: 网上百度了很久都没搞定终端的command not found的问题,于是将解决思路聚焦在字体问题上。 2、在网上下载一种中文字体:SimHei 字体链接:https://pan.baidu.com/s/1dYiUYRJLDrmWHLHXj...
在Jupyter Notebook中使用Python虚拟环境
在Jupyter Notebook中使用Python虚拟环境 一、在base环境生成jupyter配置环境 二、进入虚拟环境 三、安装ipykernel 四、生成jupyter服务配置 一、在base环境生成jupyter配置环境 二、进入虚拟环境 三、安装ipykernel 四、生成jupyter服务配置 参考链接:https://zhuanlan.zhihu.com/p/29564719 参考...
在Jupyter Notebook中使用Python虚拟环境
Jupyter Notebook本身是默认使用一种Anaconda中root目录下的Python环境的,如果想使用其它的虚拟环境,还需要通过插件来实现,也就是nb_conda插件。 安装完成后,jupyter notebook中多了Conad选项卡,但此时还不能用,还需要在每一个虚拟环境中安装jupyter(也许有第二种方式,见下文) 我们安装完nb_conda插件后,打开jupyter在自己的J...
冒泡排序,及改进方式,性能优化400%>>>附图解加源码
首先源码附上,源码中带有注释,看不懂没关系,源码后面附带图解,最后附上代码效率提升图 源码如下: 方案一:其实实现很简单,两层循环,每次内层迭代出最大的一个值,将其放入数组最后一个位置,外层循环的末端便往前移一位。其原理如下图 方案一代码块: 方案二:优化改进 仔细观察上面的图,我们不难发现当迭代到图下这样的情况时,其实已经全排序好了,但是我们还是需要对它进行1,2,3,4,5,6的迭代,这些情况...
猜你喜欢
css3常用选择器
先介绍一下基本选择器,如下几种 *:通配符。选择页面的所有元素 E:元素选择器。对页面的一些元素进行选择,如p,div,li等 .class:类选择器 #id:id选择器。一个Id在一个页面中只能选择,这是和类选择器的区别 E F:后代选择器。如ul li。选中ul下的li E>F:子元素选择器。如下,可以用 h1 > strong {color:red;}使h1的子元素strong变...
python is not set from command line or npm configuration
问题 猜测原因 python版本冲突 解决方案 去官网找到最新版本python 点击下载,注意记住你下载的目录,下载好以后,打开这个目录下的文件夹,Python310, 整个文件夹复制一下 在项目里运行npm config list --json 找到python的路径 我的是 C:\\Python27\\python.exe 说明项目里用的还是py...
Java8 Stream流操作
前言 我们常常需要将一个容器转化成另一个容器,或是对这个容器中的数据进行批量处理,这时使用Stream流可以大大减少我们的工作量。 1 Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。 那么什么是Stream? Stream将要处理的元素集合看作一种流,在流的过程中,借助St...
带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑
在Windows下进行C++的开发,不可避免的要与Windows的底层库进行交互,然而VS下的一项设置MT、MTd、MD和MDd却经常让人搞迷糊,相信不少人都被他坑过,特别是你工程使用了很多第三库的时候,及容易出现各种链接问题。看一下下面这个错误提示: LIBCMT.lib(_file.obj) : error LNK2005: ___initstdio already defined...
git 设置 gitignore 忽略 __pycache__
清除git缓存中的pycache 直接删掉硬盘上的文件 如果我想保留硬盘上的这个文件,而只删除版本管理中的文件,就需要加入--cached参数。 切换分支出现问题 尽管我已经删除了__pycache__,硬盘也没有了,但是切换分支的时候依然是会提示本地重写的情况。 提示:需要我在切换分支之前,提交一次更新。 提交了更新之后,再来尝试切换分支,如下: 成功了,说明当做了任何变更之后,切换分支前需要执...
