Matplotlib线形图的创建_Python数据分析与可视化

线形图的创建

  • 绘制线形图
  • 设置颜色和风格
  • 设置坐标轴上下限
  • 设置图形标签

绘制线形图

在所有图形中,最简单的应该就是线性方程y = f (x) 的可视化了。来看看如何创建这个简单的线形图。要画Matplotlib图形时,都需要先创建一个图形fig 和一个坐标轴ax。创建图形与坐标轴的最简单做法是:

import matplotlib.pyplot as plt#导入模块
plt.style.use('seaborn-whitegrid')#设置matplotlib画图样式
fig = plt.figure()
ax = plt.axes()

在这里插入图片描述

Matplotlib中,figureplt.Figure类的一个实例)可以被看成是个能够容纳各种坐标轴、图形、文字和标签的容器。就像你在图中看到的那样,axesplt.Axes类的一个实例)是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。

在这里我们一般使用变量fig表示一个图形实例,用变量ax表示一个坐标轴实例。接下来使用ax.plot画图,从简单的正弦曲线开始:

fig = plt.figure()
ax = plt.axes()
x = np.linspace(0, 10, 1000)
ax.plot(x, np.sin(x))

在这里插入图片描述

也可以使用pylab接口画图,这时图形与坐标轴都在底层执行,执行结果和上图一样:plt.plot(x, np.sin(x))

试想下如果我们重复调用plot命令会发生什么,它会在一张图中创建多条线:

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

在这里插入图片描述

设置颜色和风格

在画图的过程中通常对图形的第一次调整是调整它线条的颜色与风格。

plt.plot()函数可以通过相应的参数设置颜色和风格,修改颜色使用color参数,它支持各种颜色值的字符串,具体使用如下:

plt.plot(x, np.sin(x - 0), color='blue') # 标准颜色名称
plt.plot(x, np.sin(x - 1), color='g') # 缩写颜色代码(rgbcmyk)
plt.plot(x, np.sin(x - 2), color='0.75') # 范围在0~1的灰度值
plt.plot(x, np.sin(x - 3), color='#FFDD44') # 十六进制(RRGGBB,00~FF)
plt.plot(x, np.sin(x - 4), color=(1.0,0.2,0.3)) # RGB元组,范围在0~1
plt.plot(x, np.sin(x - 5), color='chartreuse') # HTML颜色名称

在这里插入图片描述

常用颜色对应值:
在这里插入图片描述

如果不指定颜色,matplotlib会为多条线自动循环使用一组默认的颜色。设置样式使用linestyle参数:

plt.plot(x, x + 0, linestyle='solid')
plt.plot(x, x + 1, linestyle='dashed')
plt.plot(x, x + 2, linestyle='dashdot')
plt.plot(x, x + 3, linestyle='dotted')
#也可以用下面的简写形式
plt.plot(x, x + 4, linestyle='-') # 实线
plt.plot(x, x + 5, linestyle='--') # 虚线
plt.plot(x, x + 6, linestyle='-.') # 点划线
plt.plot(x, x + 7, linestyle=':') # 实点线

在这里插入图片描述

还可以将linestylecolor编码组合起来,作为plt.plot() 函数的一个非关键字参数使用:

plt.plot(x, x + 0, '-g') # 绿色实线
plt.plot(x, x + 1, '--c') # 青色虚线
plt.plot(x, x + 2, '-.k') # 黑色点划线
plt.plot(x, x + 3, ':r'); # 红色实点线

在这里插入图片描述

设置坐标轴上下限

虽然matplotlib会自动为你的图形选择最合适的坐标轴上下限,但是有时自定义坐标轴上下线可能会更好。调整坐标轴上下限最基础的方式是plt.xlim()plt.ylim()

plt.plot(x, np.sin(x))
plt.xlim(-1, 11)
plt.ylim(-1.5, 1.5)

在这里插入图片描述

如果你想要让坐标轴逆序显示,那么只需要逆序设置坐标轴刻度值就可以了。matplotlib还有一个方法是plt.axis()。通过传入[xminxmaxyminymax]对应的值,这样就可以用一行代码设置x和y的限值:

plt.plot(x, np.sin(x))
plt.axis([-1, 11, -1.5, 1.5])

在这里插入图片描述

还支持按照图形的内容自动收紧坐标轴,不留空白区域:

plt.plot(x, np.sin(x))
plt.axis('tight')

在这里插入图片描述

设置图形标签

图形标签与坐标轴标题是最简单的标签,设置方法如下:

plt.plot(x, np.sin(x))
plt.title("A Sine Curve")
plt.xlabel("x")
plt.ylabel("sin(x)");

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/194429.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI - Crowd Simulation(集群模拟)

类似鱼群,鸟群这种群体运动模拟。 是Microscopic Models 微观模型,定义每一个个体的行为,然后合在一起。 主要是根据一定范围内族群其他对象的运动状态决定自己的运动状态 Cohesion 保证个体不会脱离群体 求物体一定半径范围内的其他临近物…

深度学习回顾:七种网络

一、说明 本文 揭开CNN、Seq2Seq、Faster R-CNN 和 PPO ,以及transformer和humg-face— 编码和创新之路。对于此类编程的短小示例,用于对照观察,或做学习实验。 二、CNN网络示例 2.1 CNN用mnist数据集 CNN 专为图像处理而设计,包…

idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案

🧸欢迎来到dream_ready的博客,📜相信您对博主首页也很感兴趣o (ˉ▽ˉ;) 📜jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量&a…

FreeRTOS源码阅读笔记6--event_groups.c

通常用的事件标志组是一个32位的变量uxEventBits,可设置的位有24位,一共就是24 种事件。 事件组的结构体类型: 6.1创建事件组xEventGroupCreate() 6.1.1函数原型 返回值:事件组句柄,指向事件组。 6.1.2函数框架 ①…

通过亚马逊云科技云存储服务探索云原生应用的威力

文章作者:Libai 欢迎来到我们关于“使用亚马逊云科技云存储服务构建云原生应用”的文章的第一部分。在本文中,我们将深入探讨云原生应用的世界,并探索亚马逊云科技云存储服务在构建和扩展这些应用中的关键作用。 亚马逊云科技开发者社区为开发…

鸿蒙应用开发-初见:ArkUI

编程范式:命令式->声明式 以一个卡片的实现做下讲解 命令式 简单讲就是需要开发用代码一步一步进行布局,这个过程需要开发全程参与。 Objective-C UIView *cardView [[UIView alloc] init]; cardView.backgroundColor [UIColor whiteColor]; ca…

[socket 弹 shell] msg_box3

前言 题目比较简单,没开 Canary 和 NX. Arch: amd64-64-littleRELRO: Full RELROStack: Canary foundNX: NX disabledPIE: PIE enabledRWX: Has RWX segments 漏洞利用与分析: 白给的函数调用,其中 ptr 10 是用…

Elasticsearch启动失败问题汇总

版本elasticsearch-8.11.1,解压安装完后,修改安装目录下conf/jvm.options, 默认配置如下: -Xms4g -Xmx4g 默认的配置占用内存太多了,调小一些: -Xms256m -Xmx256m由于es和jdk是一个强依赖的关系&#xff0…

[黑马程序员SpringBoot2]——开发实用篇3

目录: jetcache远程缓存方案jetcache本地缓存方案jetcache方法缓存j2cache基本操作springboot整合quartz​​​​​​​springboot整合task发送简单邮件发送多部件邮件消息简介购物订单案例-发送短信ActiveMQ安装springboot整合ActiveMQRabbitMQ安装springboot整合…

代理IP可以用于哪些实际场景?遇到问题如何解决

随着互联网的普及和网络应用的广泛使用,代理IP已成为许多人工作和生活中不可或缺的一部分。代理IP可以用于多种实际场景,并在遇到问题时提供有效的解决方案。下面将详细介绍代理IP的实际应用场景及遇到问题时的解决方法。 一、代理IP的实际应用场景 1. 网…

C#,数值计算——插值和外推,径向基函数插值(RBF_interp)的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 径向基函数插值 /// Object for radial basis function interpolation using n points in dim /// dimensions.Call constructor once, then interp as many times as desir…

阿里云服务器部署node和npm

目录 1.链接服务器2.找到node 下载地址3获取链接地址4下载到linux5.解压6.重命名 解压后的文件7.配置环境变量7.1复制当前的bin目录7.2vim /etc/profile7.3在按下ESC按键 8.重启环境变量9.输入node10.npm配置加速镜像 1.链接服务器 2.找到node 下载地址 https://nodejs.org/d…

激光雷达毫米波雷达

一.激光雷达 技术指标&#xff1a; 视场角 线数&#xff08;32/64/128&#xff09; 分辨率&#xff08;激光光束夹角越小分辨率越高&#xff0c;0.1度&#xff09; 探测距离&#xff1a;0.3-200m 反射率&#xff08;一般探测10%以上反射率的目标&#xff09; 分类 按照测距方…

JUC下常用的类

一、Semaphore 信号量 new Semaphore(10) 可以把他理解成停车场&#xff0c;最多停10辆车&#xff0c;多个车进来如果满了就去排队&#xff0c;车走了&#xff0c;车位就空出来了&#xff0c;排队的线程就可以进来主要下面2个方法 Acquire获取锁&#xff1a;通过CAS原子性减1&…

算法通关村第一关|链表基础

1. 单链表概念 对于所有的数据结构的基础都是创建增删改查&#xff0c;学习链表重点也是学习链表的五种基本操作。 单向链表就像一个铁链一样&#xff0c;元素之间相互连接&#xff0c;包含多个结点&#xff0c;每个结点有一个指向后继元素的next指针。表中最后一个元素的nex…

面试常问-如何判断链表有环、?

如何判断链表有环 题目&#xff1a;解决方案一&#xff1a;解决方案二&#xff1a;解决方案三&#xff1a; 题目&#xff1a; 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;…

ChromeDriver最新版本下载与安装方法

关于ChromeDriver最新下载地址&#xff1a;https://googlechromelabs.github.io/chrome-for-testing/ 下载与安装 setp1&#xff1a;查看Chrome浏览器版本 首先&#xff0c;需要检查Chrome浏览器的版本。请按照以下步骤进行&#xff1a; 打开Chrome浏览器。 点击浏览器右上角…

7种SQL进阶用法【转】

1.自定义排序(ORDER BY FIELD) 在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使使用自定义排序方式来实现 CREATE TABLE movies ( id INT PRIMARY KEY AUTO_INCREMENT, movie_name VARCHAR(255), actors VARCHAR(255), price DECIMAL(10,2) DEFAULT 50, release date…

文本三剑客(grep,awk,sed)

一.正则表达式 注意事项&#xff1a;使用正则表达式必须加引号。 元字符 表示字符 ① . &#xff1a;在正则表达式中.表示任意单个字符。 [rootpc1 data]#grep -o r.t /etc/passwd #过滤passwd文件中开头为r中间任意单个字符结尾为t的内容 rat rat rat [rootpc1 data]#g…

Open Feign 源码解析(二) --- 如何发送http请求

Open Feign 源码解析二 如何发送http请求&#xff1f; 如何组件化&#xff1f; 定义接口 public interface Client {Response execute(Request request, Options options) throws IOException; }是否存在已有的方案&#xff1f; 1&#xff09;rest template http client o…