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入门指导的更多相关文章

  1. 一份详细的asyncio入门教程

    asyncio模块提供了使用协程构建并发应用的工具.它使用一种单线程单进程的的方式实现并发,应用的各个部分彼此合作, 可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件, ...

  2. 这可能是最为详细的Docker入门吐血总结

    这可能是最为详细的Docker入门吐血总结  https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html Docker是什么? 在计算机技术日新 ...

  3. 绘图神器-matplotlib入门

    这次,让我们使用一个非常有名且十分有趣的玩意儿来完成今天的任务,它就是jupyter. 一.安装jupyter matplotlib入门之前,先安装好jupyter.这里只提供最为方便快捷的安装方式: ...

  4. 2.写给设计师看的HTML&CSS入门指导

    转自:http://www.uisdc.com/html-and-css-guide 整体简介 在开始学习HTML&CSS之前,首先要搞清楚两者的区别.两者在整体上有着很明显的差异. 整体看来 ...

  5. 这可能是最为详细的Docker入门总结

    写在前面 毕设是关于区块链的,自然就用到了docker,感觉到了docker的强大.学习源于总结,所以找了一些资料,这篇文章原作写的不错,看了好多遍哈哈. 这可能是最为详细的Docker入门总结 市面 ...

  6. 新手入门指导:Vue 2.0 的建议学习顺序

    起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script> ...

  7. React-Native入门指导之iOS篇 —— 一、准备工作

    React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事 ...

  8. React-Native入门指导之iOS篇

    React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事 ...

  9. Linux上安装使用boost入门指导

    Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...

随机推荐

  1. [增强for循环] 格式

    比如:

  2. Verilog模块概念和实例化#转载自Jason from Lofter

    Verilog模块概念和实例化 模块的概念 模块(module)是verilog最基本的概念,是v设计中的基本单元,每个v设计的系统中都由若干module组成. 1.模块在语言形式上是以关键词modu ...

  3. java操作RabbitMQ添加队列、消费队列和三个交换机

    假设已经在服务器上安装完RabbitMQ.我写的教程 一.发送消息到队列(生产者) 新建一个maven项目,在pom.xml文件加入以下依赖 <dependencies> <depe ...

  4. deepin安装pip

    sudo apt install python3-venv python3-pip  升级最新版 pip3 install --upgrade pip 更新完以后就报错网上的解决办法没有好使的 退回版 ...

  5. Mysql 存储过程声明及使用

    存储过程(Stored Procedure):是一组用于完成特定数据库功能的sql语句集,该sql语句集经过编译后存储在数据库系统中,在使用的时候,用户通过调用指定已经定义好的存储过程并执行它,从而完 ...

  6. 20191010-5 alpha week 1/2 Scrum立会报告+燃尽图 03

    此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8748] 一.小组情况 队名:扛把子 组长:迟俊文 组员:宋晓丽 梁梦瑶 ...

  7. Redis 的底层数据结构(对象)

    目前为止,我们介绍了 redis 中非常典型的五种数据结构,从 SDS 到 压缩列表,这都是 redis 最底层.最常用的数据结构,相信你也掌握的不错. 但 redis 实际存储键值对的时候,是基于对 ...

  8. SSH 免密登录服务器

    本文详解如何以多种方法实现ssh免密码登陆远程服务器 阅读须知: 1.以下方法操作时请不要随意切换目录. 2.xxx为私钥,xxx.pub是公钥(默认一般文件名为id_rsa和id_rsa.pub,可 ...

  9. 新闻实时分析系统-inux环境准备与设置

    1.Linux系统常规设置 1)设置ip地址 项目视频里面直接使用界面修改ip比较方便,如果Linux没有安装操作界面,需要使用命令:vi /etc/sysconfig/network-scripts ...

  10. 为宇宙第一强的IDE干一票

    背景 在博客园看到很多人说.net在国内已死,很多人在为.net前途担忧,包括一些创业大佬也提及到这些问题,提及到客户指定了说使用php或者java. 那么基本可以确认了,.net 处于风雨漂泊的地位 ...