当前位置: 首页 > news >正文

【Python - Matplotlib】P2 plot 折线图

Matplotlib绘制折线图

  • 折线图
    • 完整代码与效果
    • 基础折线图
    • 设定横纵坐标
    • 设置中文显示
    • 添加网格
    • 添加描述信息
    • 再添加一个城市
  • 设置两个折线图

前言

上一节内容主要围绕介绍 Matplotlib 的画板结构。
链接:https://blog.csdn.net/weixin_43098506/article/details/129331576
本节内容围绕 折线图。
下一节内容围绕 散点图与柱状图。
链接:https://blog.csdn.net/weixin_43098506/article/details/129333625



正文

折线图

完整代码与效果 的后续小节将会对完整代码进行分解。

完整代码与效果

完整代码:

import random
import matplotlib
import matplotlib.pyplot as plt# 设置中文字体显示
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 设置数组
x = range(60)
y1 = [random.uniform(15,18) for i in x]
y2 = [random.uniform(0,3) for i in x]# 创建画布,规定大小以及清晰度
plt.figure(figsize=(20,8), dpi=80)# 绘制折线图像
plt.plot(x, y1, color="orange", linestyle="--", label="data1")
plt.plot(x, y2, label="data2")# 设置 x,y 坐标内容
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0,40,5))# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)# 添加描述信息
plt.title("某城市11点到12点间温度变化状况")
plt.xlabel("时间")
plt.ylabel("温度")# 显示图例
plt.legend(loc="upper left")# 4、显示图像
plt.show()

效果:
在这里插入图片描述




基础折线图

# 1、准备数据,构建 x,y1 两个数组
import random
import matplotlib.pyplot as pltx = range(60)
y1 = [random.uniform(15,18) for i in x]# 2、创建画布,规定大小以及清晰度
plt.figure(figsize=(20,8), dpi=80)# 3、绘制折线图像
plt.plot(x, y1, color="orange", linestyle="--", label="data1")# 4、显示图像
plt.show()

设定横纵坐标

# 设置 x 的显示内容
x_label = ["11点{}分".format(i) for i in x]# 修改 x,y 刻度
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0,40,5))

设置中文显示

# 设置中文字体显示
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号

添加网格

# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)

添加描述信息

# 添加描述信息
plt.title("某城市11点到12点间温度变化状况")
plt.xlabel("时间")
plt.ylabel("温度")

再添加一个城市

# 再添加一个城市
y2 = [random.uniform(0,3) for i in x]
plt.plot(x, y2, label="data2")

------ 代码分解部分完成 ------




设置两个折线图

如何实现在一个图片中平行展示两个城市的温度变化图片?
主要方法通过 plt.subplots(nrows=, ncols= ) 函数分成想要的图片个数以及格式。

plt.subplots(nrows=1, ncols=2, figsize(20,8), dpi=80)

以上代码将画布分为左右两个部分(1行2列),画布的大小为 20*8,清晰度为 80.

完整代码:
注意:代码中多数变化为 set_函数,需要注意到画布的变化带来的设置函数的变化

import random
import matplotlib.pyplot as plt# 设置中文字体显示
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 1、准备数据,构建 x,y 两个数组
x = range(60)
y1 = [random.uniform(15,18) for i in x]
y2 = [random.uniform(0,3) for i in x]# 2、创建两个画布(1行2列),规定大小以及清晰度
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=80)# 3、绘制折线图像
axes[0].plot(x, y1, color="orange", linestyle="--", label="data1")
axes[1].plot(x, y2, color="blue", linestyle="-", label="data2")# 设置 x 的显示内容
x_label = ["11点{}分".format(i) for i in x]# 修改 x,y 刻度
axes[0].set_xticklabels(x_label[::5])
axes[0].set_yticks(range(0,40,5))
axes[1].set_xticklabels(x_label[::5])
axes[1].set_yticks(range(0,40,5))# 添加网格
axes[0].grid(True, linestyle="--", alpha=0.5)
axes[1].grid(True, linestyle="--", alpha=0.5)# 添加描述信息
axes[0].set_title("城市一11点到12点间温度变化状况")
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[1].set_title("城市二11点到12点间温度变化状况")
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")# 显示图例
axes[0].legend(loc="upper left")
axes[1].legend(loc="upper left")# 4、显示图像
plt.show()

效果图:

在这里插入图片描述


上一节内容主要围绕介绍 Matplotlib 的画板结构。
链接:https://blog.csdn.net/weixin_43098506/article/details/129331576
下一节内容围绕 散点图与柱状图。
链接:https://blog.csdn.net/weixin_43098506/article/details/129333625

http://www.lryc.cn/news/28765.html

相关文章:

  • 【Verilog】——模块,常量,变量
  • 论文投稿指南——中文核心期刊推荐(电影、电视艺术)
  • Pip install 和Conda install 总结
  • 嵌入式系统实验——【玄武F103开发板】实现两个LED小灯闪烁
  • 数组之双指针题
  • 真实需求和梦想实现满足
  • [ant-design-vue] tree 组件功能使用
  • QT父子窗口事件传递与事件过滤器
  • 【2.4 golang中的循环语句for】
  • Windows 系统下 Apache 和 php 环境怎么搭建?
  • Python基础知识——字符串、字典
  • JVM常用指令
  • 排序中常见的一些指标
  • 51单片机入门————数码管显示
  • Spring事务未生效场景
  • servlet注解开发
  • mysql一联合主键
  • openpnp - 判断吸嘴是否指定了正确的旋转轴
  • 【办公类-19-03】办公中的思考——Python批量统一文件名的序号(保教主任整理打印文件)
  • MySQL约束
  • x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建
  • 找工作经验分享
  • C语言学习之路--操作符篇,从知识到实战
  • 【华为OD机试2023】端口合并 C++ Java Python
  • C++常用头文件整理
  • Linux内核4.14版本——drm框架分析(2)——connector分析
  • dev GridControl 按条件纵向合并单元格
  • aws eks 集群初始化过程中pause容器的启动逻辑
  • Numpy专栏目录(长期更新)
  • English Learning - L2 第1次小组纠音 [ɑː] [ɔː] [uː] 2023.2.25 周六