一份详细的 Matplotlib入门指导
hMatplotlib是最受欢迎的二维图形库,但有时我们很难做到得心应手的去使用。
如何更改图例上的标签名称? 如何设置刻度线? 如何将比例更改为对数? 如何在我的情节中添加注释和箭头? 如何在我的图中添加网格线?
本文汇集了有关如何自定义Matplotlib图的常见问题和答案。 这可以作为快速Matplotlib绘图的一个很好的备忘单,而不是Matplotlib库的介绍。
首先我们导入:
import matplotlib.pyplot as plt
在Jupyter Notebook中,您可以在下面包含这一行,这样您就不必在每次想要制作绘图时调用plt.show()。
%matplotlib inline
图与子图(PLOTS AND SUBPLOTS)
Q1:怎样定义图形的尺寸?
许多情况下,默认的画布都太小,我们需要自己定义一个合适的画布。
plt.figure(figsize=(20,10))
Q2:什么是子图(subplots)?怎样去创建子图?
子图是一组较小的轴,它们在一个图中一起存在。 下面是2 x 2形式的四个子图的示例。
这些子图是使用下面的代码创建的。 我们调用plt.subplot并指定三个数字。 它们指的是要创建子图的的行数,列数和子图号。
for i in range (1, 5):
plt.subplot(2, 2, i)
plt.text(0.5,0.5, str((2, 2, i)), ha='center', fontsize = 10)
plt.tight_layout()
在上面的子图中,图中的文本是对这三个数字的引用。 子图编号的顺序是从左上角开始的行,从数字1开始。例如,左上图是子图编号1,右上图是子图编号2,左下图是子图编号3, 右下图是4号子图。
请注意,必须专门调用plt.subplot(2,2,1)来创建该子图。
Q3:如果子图布局不是很精致,怎样来调整呢?
如果子图排列过于紧凑。 我们可以通过调用plt.tight_layout()来修复它。它清理子图之间的填充以获得更清晰的外观。
调整前:
调整后:
Q4:怎么样天加网格线?
plt.grid(True)
风格和属性
Q5:怎样调整线的颜色\粗细\形状?
plt.plot(x, y, color = ‘green’ , linewidth = 2, linestyle = “-”)
常见的形状:
Q6:怎样更改标记(marker)的颜色和样式?
plt.scatter(x, y, marker = ‘o’, color = ‘red’)
常见的选择:
Q7:如何更改线条的透明度?
将alpha参数传递给你的绘图。 Alpha可以设置为0到1,其中0表示完全透明,1表示不透明。
plt.plot(x, y, alpha = 0.1)
下图说明了透明度在0.9,0.5和0.1的alpha水平下的表现.
一份详细的 Matplotlib入门指导的更多相关文章
- 一份详细的asyncio入门教程
asyncio模块提供了使用协程构建并发应用的工具.它使用一种单线程单进程的的方式实现并发,应用的各个部分彼此合作, 可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件, ...
- 这可能是最为详细的Docker入门吐血总结
这可能是最为详细的Docker入门吐血总结 https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html Docker是什么? 在计算机技术日新 ...
- 绘图神器-matplotlib入门
这次,让我们使用一个非常有名且十分有趣的玩意儿来完成今天的任务,它就是jupyter. 一.安装jupyter matplotlib入门之前,先安装好jupyter.这里只提供最为方便快捷的安装方式: ...
- 2.写给设计师看的HTML&CSS入门指导
转自:http://www.uisdc.com/html-and-css-guide 整体简介 在开始学习HTML&CSS之前,首先要搞清楚两者的区别.两者在整体上有着很明显的差异. 整体看来 ...
- 这可能是最为详细的Docker入门总结
写在前面 毕设是关于区块链的,自然就用到了docker,感觉到了docker的强大.学习源于总结,所以找了一些资料,这篇文章原作写的不错,看了好多遍哈哈. 这可能是最为详细的Docker入门总结 市面 ...
- 新手入门指导:Vue 2.0 的建议学习顺序
起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script> ...
- React-Native入门指导之iOS篇 —— 一、准备工作
React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事 ...
- React-Native入门指导之iOS篇
React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事 ...
- Linux上安装使用boost入门指导
Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...
随机推荐
- 外行人都能看懂的WebFlux,错过了血亏!
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 本文知识点架构: 如果有关注我公众号文章的同学就会发 ...
- [LC]219题 Contains Duplicate II (存在重复元素 II )
①英文题目: Given an array of integers and an integer k, find out whether there are two distinct indices ...
- nyoj 477-A+B Problem III (fabs() <= 0.00001)
477-A+B Problem III 内存限制:64MB 时间限制:1000ms 特判: No 通过数:18 提交数:34 难度:1 题目描述: 求A+B是否与C相等. 输入描述: T组测试数据. ...
- PHP 的面向对象 与 类
面向对象 == OO 学习面向对象 == XXOO;[学习使我快乐!] <!--附一个demo类的实例化--> http://note.youdao.com/noteshare?id=38 ...
- 防火墙和SELinux复习02
1.防火墙 防火墙主要起隔离作用,严格的过滤入站,允许出站.又分为硬件防火墙和软件防火墙,硬件防火墙主要保护一群机器,而软件防火墙主要保护本机. 防火墙相关命令:systemctl status fi ...
- python3 之 文件read方法(read、readline、readlines)
目录 一.read方法 二.readline方法 三.readlines方法 正文 python3中,读取文件有三种方法:read().readline().readlines(). 此三种方法,均支 ...
- 2019-9-26:渗透测试,基础学习,js正则以及什么是目录扫描,笔记
js正则表达式,用单个字符串描述或者匹配符合特定语句规则的字符串,相当于一种搜索模式.一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索还可以替换 正则表达式语法/表达式/修饰符(可选),例 ...
- SQL查询优化实践
为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上,即随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢,且数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时 ...
- 【Luogu P2024&P1892】食物链&团伙(并查集拓展域)
Luogu P1892 Luogu P2024 这两道一眼看过去很容易发现可以用并查集来做--但是当我们仔细阅读题面后,会发现其实并没有那么简单. 我们知道并查集可以很轻松地维护具有传递性的信息,也就 ...
- Python--将文件夹中图片按照横屏竖屏进行分类
搬运链接:https://www.jianshu.com/p/c8be54282e77 """ 可以遍历输入的路径的指定后缀的文件,主要是用来筛选图片,将图片分成 横屏, ...