Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Matplotlib的使用

Matplotlib的使用

作者头像
羊羽shine
发布于 2019-05-28 05:30:47
发布于 2019-05-28 05:30:47
60400
代码可运行
举报
文章被收录于专栏:Golang开发Golang开发
运行总次数:0
代码可运行

安装

安装numpy

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install numpy

安装matplotlib

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install matplotlib

基础

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x1 = np.linspace(-3, 3)
y1 = 2*x1-2
y2 = -2*x1-2
plt.plot(x1, y1)
plt.plot(x1, y2)
plt.show()

image.png

设置坐标轴

plt.xlim设置x坐标轴范围 plt.ylim设置y坐标轴范围 plt.xlabel设置x坐标轴名称 plt.ylabel设置y坐标轴名称 plt.xticks设置x轴刻度 plt.yticks设置y轴刻度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3,)
y1 = 2 *x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red', linewidth=1.0, linestyle='--')
plt.xlim(-1,2)
plt.ylim(-2,3)
plt.xlabel('x')
plt.ylabel('y')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.22,3])
plt.show()

image.png

设置边框

plt.gca获取当前坐标轴信息. 使用.spines设置边框,使用.set_color设置边框颜色:默认白色.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3)
y1 = 2 *x+1
plt.plot(x,y1)
plt.xlim(-1,2)
plt.ylim(-2,3)
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
plt.show()

image.png

调整坐标轴位置

使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置(所有位置:top,bottom,both,default,none)。使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3)
y1 = x**2
plt.plot(x,y1)
plt.xlim(-3,3)
plt.ylim(-1,3)
ax = plt.gca()
ax.xaxis.set_ticks_position('bottom')
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_position(('data', 0))
ax.spines['bottom'].set_position(('data', 0))
plt.show()

image.png

图例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3)
y1 = x**2
l1, = plt.plot(x,y1,label='square line')
y2 = 2*x + 1
l2, = plt.plot(x,y2,color='red', linewidth=1.0, linestyle='--', label='linear line')
plt.xlim(-3,3)
plt.ylim(-1,3)
#plt.legend(loc='lower right')
plt.legend(handles=[l1, l2], labels=['x^2', '2*x+1'],  loc='best')
ax = plt.gca()
ax.xaxis.set_ticks_position('bottom')
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_position(('data', 0))
ax.spines['bottom'].set_position(('data', 0))
plt.show()

l1, l2,要以逗号结尾, 因为plt.plot() 返回的是一个列表. 位置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
               ===============   =============
                Location String   Location Code
                ===============   =============
                'best'            0
                'upper right'     1
                'upper left'      2
                'lower left'      3
                'lower right'     4
                'right'           5
                'center left'     6
                'center right'    7
                'lower center'    8
                'upper center'    9
                'center'          10
                ===============   =============

image.png

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.05.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
✍️浏览器渲染原理深度拆解:为什么你的动画总是卡顿?
你以为浏览器只是简单地将HTML/CSS/JS转换成像素?其实背后隐藏着一套精密流水线:
Jimaks
2025/05/26
1110
✍️浏览器渲染原理深度拆解:为什么你的动画总是卡顿?
搞定这些疑难杂症,向css3动画说yes
本文篇幅比较长,涉及到的知识点也比较多,如3d,动画性能,动画js事件等,参考文献及demo展示也比较多,所以建议pc阅读效果更佳。 动画库 到现在来说css3动画也不是什么新技术,既然是要搞定它,好歹我们也得先看下别人做的一些东西吧,所以在此先向各位推荐几个比较好用的动画库: animate.css effeckt hover.css animatable 关于css3动画不得不说的几个属性 看完上面那些动画库,心痒就不如行动了。 说起css3动画,有一个属性我们绝对避不开了,那就是transform这个
IMWeb前端团队
2018/01/15
2.1K0
搞定这些疑难杂症,向css3动画说yes
【前端动画】实现动画的6种方式
javascript 实现动画通常会导致页面频繁性重排重绘,消耗性能,一般应该在桌面端浏览器。在移动端上使用会有明显的卡顿。(❤️ 现在关注【前端修罗场】,后台回复【666】,即可获取一份【免费的优质学习资料】,一起学习,一起进步~)
前端修罗场
2023/10/07
5680
WEB动画的几种实现方式
WEB 的动画实现多种多样,随着 H5 的发展,实现动画的方式越来越多了。初步统计实现动画的方式有以下一些方式实现
chuchur
2022/10/25
2.5K0
WEB动画的几种实现方式
33.Vue-使用第三方animate.css类库实现动画
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具:
Devops海洋的渔夫
2020/05/04
6.9K0
深度剖析浏览器渲染性能原理,你到底知道多少
作者:齐修_qixiuss https://www.jianshu.com/p/a32b890c29b1
用户4456933
2021/06/01
1.5K0
深度剖析浏览器渲染性能原理,你到底知道多少
「Web Animation API 专题」用原生JS制作一个图片随机移动的动画
当我们谈及网页动画时,自然联想到的是 CSS3 动画、JS 动画、SVG 动画 等技术以及 jQuery.animate() 等动画封装库,根据实际动画内容设计去选择不同的实现方式,然而,每个现行的动画技术都存在一定的缺点,如 CSS3动画必须通过JS去获取动态改变的值,一个动画效果分散在css文件和js文件里不好维护,setInterval 的时间往往是不精确的而且还会卡顿,引入额外的动画封装库也并非对性能敏感的业务适用。
前端达人
2019/08/02
4.1K0
「Web Animation API 专题」用原生JS制作一个图片随机移动的动画
让你的网页更丝滑(一)
前段时间,我将精力专注在Web性能领域;在这个领域下有个重要的课题是如何让网页更丝滑(流畅)。
coder_koala
2019/10/15
1.7K0
让你的网页更丝滑(一)
34. Vue-使用JavaScript 钩子函数实现半场动画
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具:
Devops海洋的渔夫
2020/06/15
1.5K0
34. Vue-使用JavaScript 钩子函数实现半场动画
[译]SVG动画简介
你可以把这篇文章看做通往精通SVG动画之路的第一步,里面的链接资源也是很好的学习资料。所以赶紧收藏本文然后开始你的精通SVG之旅吧。
小刀c
2022/08/16
1.7K0
[译]SVG动画简介
Web高性能动画及渲染原理(1)CSS动画和JS动画
Web动画的本质是元素状态改变造成的样式变更,CSS动画和JS动画的区别并不是由语言来决定的,而是由两者的特点和适用场景来判断的。CSS动画简洁高效,提升交互体验而编写的代码可以轻松地和主要业务逻辑之间实现隔离,开发中建议优先使用;而当你需要更丰富的缓动函数,多对象关联动画或是需要在动画执行的特定时间点关联一些其他的业务逻辑等需要细节控制的场景中,JS动画就会显得更加清晰且易维护,两者从来都不是非黑即白的选项。
大史不说话
2019/10/16
7.8K0
Web高性能动画及渲染原理(1)CSS动画和JS动画
「Web Animation API 专题」纯手工撸一个图片随机移动的动画
当我们谈及网页动画时,自然联想到的是 CSS3 动画、JS 动画、SVG 动画 等技术以及 jQuery.animate() 等动画封装库,根据实际动画内容设计去选择不同的实现方式,然而,每个现行的动画技术都存在一定的缺点,如 CSS3动画必须通过JS去获取动态改变的值,一个动画效果分散在css文件和js文件里不好维护,setInterval 的时间往往是不精确的而且还会卡顿,引入额外的动画封装库也并非对性能敏感的业务适用。
前端达人
2019/07/31
1.8K0
「Web Animation API 专题」纯手工撸一个图片随机移动的动画
制作60fps的高性能动画
说到web的高性能动画,这部分内容其实已经是老生常谈的了,不过其中还是有不少比较新的而且非常实用的内容可以和大家分享一下。
QQ音乐前端团队
2018/09/25
2.8K2
要实现60FPS动画, 你需要了解这些
60FPS, 即每秒渲染60帧, 每一帧的间隔时间为 1000ms / 60 = 16.666ms
木子星兮
2020/09/15
1.4K0
要实现60FPS动画, 你需要了解这些
2020已经过去五分之四了,你确定还不来了解一下JS的rAF?
不会吧,不会吧,现在都2020年了不会还真人有人不知道JS的rAF吧??? rAF 简介 rAF是requestAnimationFrame的简称; 我们先从字面意思上理解requestAnimati
Tz一号
2020/10/26
1.2K0
2020已经过去五分之四了,你确定还不来了解一下JS的rAF?
前端动画实现总结
SVG动画由SVG元素内部的元素属性控制,一般通过一下几个元素控制: - 用于控制动画延时 - 对属性的连续改变进行控制 - 颜色变化,但用就能控制 - 控制如缩放、旋转等几何变化 - 控制SVG内元素的移动路径
江米小枣
2020/06/16
1.4K0
干货 | 携程火车票7个优化动画性能的方法
携程火车票营销页使用 css 制作动画很多年了,这大大提高了动画给予页面丰富的视觉体验。不过,在开发的过程中,也遇到了一些性能相关问题和用户反馈,比如头部动画卡顿、页面打开时间较长、页面打开后部分数据加载时间较长等问题。为解决这些问题,我们借助性能检测工具定位问题,并查阅源码、文档等资源解决问题,形成了这篇文章。
携程技术
2023/09/06
3150
干货 | 携程火车票7个优化动画性能的方法
JavaScript动画基本原理
在现在做页面很多时候都会用上动画效果。比如下拉菜单,侧边搜索栏,层的弹出与关闭等等。通常我们实现这些动画效果可以采用 JavaScript与CSS3两种方式来实现。本文主要介绍JavaScript动画,CSS3的动画下次在总结。对于JavaScript动画 目前有很多的动画插件库,如: Jquery等等.以下就简单介绍以下JavaScript动画的实现原理。
全栈程序员站长
2022/11/03
1.2K0
好玩又实用的19个JavaScript动画库
今天我们来看看2019年的一些伟大的JavaScript动画库。在2002年左右,我们使用Flash来制作网络动画。而在2008年,由Flash制作的网站是非常受欢迎(Flash网页游戏风靡一时)。
Javanx
2019/09/04
3.5K0
好玩又实用的19个JavaScript动画库
只听说过CSS in JS,怎么还有JS in CSS?
CSS in JS是一种解决css问题想法的集合,而不是一个指定的库。从CSS in JS的字面意思可以看出,它是将css样式写在JavaScript文件中,而不需要独立出.css、.less之类的文件。将css放在js中使我们更方便的使用js的变量、模块化、tree-shaking。还解决了css中的一些问题,譬如:更方便解决基于状态的样式,更容易追溯依赖关系,生成唯一的选择器来锁定作用域。尽管CSS in JS不是一个很新的技术,但国内的普及程度并不高。由于Vue和Angular都有属于他们自己的一套定义样式的方案,React本身也没有管用户怎样定义组件的样式[1],所以CSS in JS在React社区的热度比较高。
疯狂的技术宅
2021/04/23
7.2K0
只听说过CSS in JS,怎么还有JS in CSS?
推荐阅读
相关推荐
✍️浏览器渲染原理深度拆解:为什么你的动画总是卡顿?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档