Matplotlib | 绘制折线图

devtools/2024/10/19 3:51:16/

目录

    • 简介
    • 安装 Matplotlib
    • 开始绘制
      • 简单折线图
      • 改变线的样式
      • 改变节点的样式
      • 添加图表文字
      • 改变坐标轴标签
      • 改变坐标数值范围
      • 绘制多条折线
      • 实践:绘制温度变化图

简介

折线图(Line Chart),是一种以折线来呈现数据随时间变化而变化的图表。

折线图能非常直观地展现数据变化,因此常常被用于分析数据变化趋势。

它在生活中的应用非常广泛,比如温度变化、心电图、成绩表等等。

话不多说,正片开始!(记得点赞收藏!)
pkxsR7n.webp

安装 Matplotlib

打开 CMD, 输入(前提是要安装 Python):

pip install matplotlib

如果下载较慢,建议使用国内镜像:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

开始绘制

在 Matplotlib 中,绘制折线图的函数如下:

python">plt.plot([x], y, [fmt], **kwargs)

简单折线图

直接上代码~(结合注释食用!)

其中,修改 name 即可改变横轴标签,修改 value 即可改变数值。

python">import matplotlib.pyplot as plt # 导入第三方库
name = range(1, 6) # 横轴上的标签
value = [90, 95, 92, 94, 93] # 和横轴一一对应的数值
plt.plot(name, value) # 绘制折线图
plt.show() # 显示图像

pkxYQ0O.png

改变线的样式

  • 改变颜色:color,参数值:r y b g 等等(包括 16 进制色值)
  • 改变线形:linestyle,参数值:“-” “–” “-.” 等等
  • 改变宽带:linewidth
  • 改变透明的:alpha,0 为完全透明,1 为不透明
python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
plt.plot(name, value, color="r", linestyle="--", linewidth=3, alpha=0.8)
plt.show()

pkxYl7D.png

改变节点的样式

  • 节点形状:marker,比如 “o” 就是圆形
  • 节点大小:markersize
  • 节点内部颜色:markerfacecolor
  • 节点边框颜色:markeredgecolor
  • 节点边框宽度:markeredgewidth
python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
plt.plot(name, value, marker="o", markersize=5, markerfacecolor="r", markeredgecolor="b", markeredgewidth=2)
plt.show()

pkxY3Ae.png

添加图表文字

  • 图表标题:title()
  • 横轴名称:xlabel()
  • 纵轴名称:ylabel()
python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
plt.plot(name, value)
plt.xlabel("Name")
plt.ylabel("Value")
plt.title("Score")
plt.show()

pkxY8tH.png

改变坐标轴标签

plt.xticks 中,先写原来的 x 轴标签,然后是更改后的标签

python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
plt.plot(name, value)
plt.xticks(name, ["Exam"+str(i) for i in range(1, 6)])
plt.show()

pkxYGhd.png

改变坐标数值范围

直接用一个列表来表示范围就行,

像这个例子中,把 y 轴范围改一下,就能让图标好看许多~

python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
plt.plot(name, value)
plt.ylim([80, 100])
plt.show()

pkxYY9A.png

绘制多条折线

定义多个不同的数值列表,依次绘制即可~

记得 plt.legend() 绘制图例!

python">import matplotlib.pyplot as plt
name = range(1, 6)
value = [90, 95, 92, 94, 93]
value2 = [91, 93, 94, 93, 94]
plt.plot(name, value, label="Xiao Ming")
plt.plot(name, value2, label="Xiao Hong", color="r")
plt.legend()
plt.show()

pkxYt1I.png

实践:绘制温度变化图

综合运用上面的代码,非常简单~

python">import matplotlib.pyplot as plt
day = range(10)
tmax = [22, 21, 22, 21, 20, 22, 22, 20, 23, 24]
tmin = [15, 15, 16, 16, 15, 17, 16, 17, 18, 18]
plt.plot(day, tmax, marker="o", color="r", label="Max Temperature")
plt.plot(day, tmin, marker="o", color="b", label="Min Temperature")
plt.legend()
plt.xlabel("Day")
plt.ylabel("Temp")
plt.title("Temperature in 10 days")
plt.xticks(day, ["Day "+str(i) for i in range(1, 11)])
plt.ylim([0, 30])
plt.show()

pkxYNct.png


本文就到这里啦!如果对你有帮助的话,别忘 点赞收藏 !拜~


http://www.ppmy.cn/devtools/90884.html

相关文章

数据结构——排序(1):插入排序

目录 一、排序的概念 二、排列的运用 三、常见的排序算法 四、插入排序 1.直接插入排序 (1)思路 (2)过程图示 (3)代码实现 (4)代码解释 (5)特性 2.希尔排序 (1…

获取客户端真实IP

出于安全考虑,近期在处理一个记录用户真实IP的需求。本来以为很简单,后来发现没有本来以为的简单。这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后,如何取得客户端的…

【C++】模拟实现list

🦄个人主页:修修修也 🎏所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目及其功能 📌了解list官方标准 了解模拟实现list 📌了解更底层的list实现 二.list迭代器和vector迭代器的异同 📌迭…

vulnhub靶机实战_DC-8

一、靶机下载 靶机下载链接汇总:https://download.vulnhub.com/使用搜索功能,搜索dc类型的靶机即可。本次实战使用的靶机是:DC-8系统:Debian下载链接:https://download.vulnhub.com/dc/DC-8.zip 二、靶机启动 下载完…

C++第三十二弹---从概念到实践:全面解析C++多态性

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1. 多态的概念 1.1 概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数 2.3 虚函数的重写 2.4 C11 override 和 final 2.5 重载、覆…

RabbitMQ入门

RabbitMQ入门 - 高性能的异步通讯组件 文章目录 RabbitMQ入门 - 高性能的异步通讯组件1 初识MQ1.1 同步调用1.2 异步调用1.3 MQ技术选型 2 RabbitMQ2.1 快速入门2.2 数据隔离 3 Java客户端—SpringAMQP3.1 快速入门3.2 WorkQueue3.3 Fanout交换机3.4 Direct交换机3.5 Topic交换…

Python教程(十一):单元测试与异常捕获

目录 专栏列表前言一、Python中的测试1.1 单元测试1.1.1 定义测试类1.2.1 安装 pytest1.2.2 编写测试1.2.3 运行测试 二、Python中的异常捕获2.1 常规代码2.2 异常基础 三、抛出异常(异常传播)四、 自定义异常 专栏列表 Python教程(一&#…

聊一聊 webpack5性能优化有哪些?

介绍 此文章基于webpack5来阐述 webpack性能优化较多,可以对其进行分类 优化打包速度,开发或者构建时优化打包速度(比如exclude、catch等)优化打包后的结果,上线时的优化(比如分包处理、减小包体积、CDN…