使用matplotlib库在Python中绘制折线图

一.使用matplotlib库在Python中绘制一个简单的折线图

# coding=utf-8
from matplotlib import pyplot as plt  # 导入matplotlib库中的pyplot模块,并重命名为plt# 设置图片大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 定义x轴的数据点
x = range(2, 26, 2)
# 定义y轴的数据点
y = [15, 13, 14., 17, 20, 25, 26, 26, 27, 22, 18, 15]# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将原始的x轴刻度除以2
_xtick_labels = [i / 2 for i in range(4, 49)]
# 设置x轴刻度,使用新的刻度标签,并且每隔3个刻度显示一个(即每隔6个单位显示一个刻度)
plt.xticks(_xtick_labels[::3])# 设置y轴刻度,从y轴数据的最小值到最大值,步长为1
plt.yticks(range(min(y), max(y) + 1))# 保存图片,可以选择保存,这里注释掉了
# plt.savefig('./test1.png')# 显示图像
plt.show()

这段代码首先设置了图像的大小,然后定义了x轴和y轴的数据点,接着绘制了折线图,设置了x轴和y轴的刻度,并显示了图像。效果如下:

二.使用matplotlib库在Python中绘制一个折线图,展示从10点到12点每分钟的气温变化

# coding=utf-8
from matplotlib import pyplot as plt  # 导入matplotlib库中的pyplot模块,并重命名为plt
import random  # 导入random模块,用于生成随机数
import matplotlib  # 导入matplotlib库
from matplotlib import font_manager  # 导入font_manager模块,用于设置字体# 设置字体,这里是SimHei字体,粗体,大小为8
font = {'family': 'SimHei','weight': 'bold','size': 8,}
matplotlib.rc('font', **font)  # 应用字体设置# 定义x轴的数据点,从0到120,每分钟一个点
x = range(0, 120)
# 定义y轴的数据点,随机生成20到35之间的整数,表示气温
y = [random.randint(20, 35) for i in range(120)]# 设置图片大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将时间格式化为"10点{}分"和"11点{}分"
_xtick_labels = ['10点{}分'.format(i) for i in range(60)]
_xtick_labels += ['11点{}分'.format(i) for i in range(60)]
# 设置x轴刻度,使用新的刻度标签,并且每隔3个刻度显示一个(即每隔3分钟显示一个刻度)
# 同时设置旋转角度为45度,字体为之前定义的font
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45, fontproperties=font)# 添加x轴标签,显示"时间",字体为之前定义的font
plt.xlabel('时间', fontproperties=font)# 添加y轴标签,显示"温度 单位(℃)",字体为之前定义的font
plt.ylabel('温度 单位(℃)', fontproperties=font)# 添加图表标题,显示"10点到12点每分钟的气温变化",字体为之前定义的font
plt.title('10点到12点每分钟的气温变化', fontproperties=font)# 显示图像
plt.show()

这段代码首先设置了图像的大小和字体,然后生成了x轴和y轴的数据点,接着绘制了折线图,设置了x轴的刻度,添加了x轴和y轴的标签,以及图表的标题,并显示了图像。效果如下:

三.使用matplotlib库在Python中绘制一个折线图,展示不同年龄段的人数分布

# coding=utf-8
from matplotlib import pyplot as plt  # 导入matplotlib库中的pyplot模块,并重命名为plt
from matplotlib import font_manager  # 导入font_manager模块,用于设置字体# 加载指定的字体文件,这里是微软雅黑字体,字体大小为10
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\msyh.ttc', size=10)# y轴的数据点,表示不同年龄段的人数
y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
# x轴的数据点,表示年龄,从11岁到30岁
x = range(11, 31)# 设置图形大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将年龄格式化为"{}岁"
_xtick_labels = ['{}岁'.format(i) for i in x]
# 设置x轴刻度,使用新的刻度标签,并且使用指定的字体
plt.xticks(x, _xtick_labels, fontproperties=my_font)
# 设置y轴刻度,从0到8,步长为1
plt.yticks(range(0, 9))# 绘制网格,alpha参数设置网格线的透明度
plt.grid(alpha=0.4)# 显示图像
plt.show()

这段代码首先设置了图像的大小和字体,然后定义了x轴和y轴的数据点,接着绘制了折线图,设置了x轴和y轴的刻度,绘制了网格,并显示了图像。效果如下:

四.使用matplotlib库在Python中绘制两个折线图,分别代表"自己"和"同桌"在不同年龄段的人数分布

# coding=utf-8
from matplotlib import font_manager  # 导入font_manager模块,用于设置字体
from matplotlib import pyplot as plt  # 导入matplotlib库中的pyplot模块,并重命名为plt# 加载指定的字体文件,这里是微软雅黑字体,字体大小为10
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\msyh.ttc', size=10)# y轴的数据点,表示"自己"在不同年龄段的人数
y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
# y轴的数据点,表示"同桌"在不同年龄段的人数
y_2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
# x轴的数据点,表示年龄,从11岁到30岁
x = range(11, 31)# 设置图形大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y_1,线条颜色为红色,线型为虚线,标签为"自己"
plt.plot(x, y_1, label='自己', color='red', linestyle='--')
# 绘制折线图,x轴数据为x,y轴数据为y_2,线条颜色为蓝色,线型为点划线,标签为"同桌"
plt.plot(x, y_2, label='同桌', color='blue', linestyle='-.')# 生成新的x轴刻度标签,这里是将年龄格式化为"{}岁"
_xtick_labels = ['{}岁'.format(i) for i in x]
# 设置x轴刻度,使用新的刻度标签,并且使用指定的字体
plt.xticks(x, _xtick_labels, fontproperties=my_font)# 绘制网格,alpha参数设置网格线的透明度,linestyle设置网格线的线型为点线
plt.grid(alpha=0.4, linestyle=':')# 添加图例,位置为左上角,使用指定的字体
plt.legend(prop=my_font, loc='upper left')# 显示图像
plt.show()

这段代码首先设置了图像的大小和字体,然后定义了两个y轴的数据点和x轴的数据点,接着分别绘制了两个折线图,设置了x轴的刻度,绘制了网格,添加了图例,并显示了图像。效果如下:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络协议与攻击模拟_17HTTPS 协议

HTTPShttpssl/tls 1、加密算法 2、PKI(公钥基础设施) 3、证书 4、部署HTTPS服务器 部署CA证书服务器 5、分析HTTPS流量 分析TLS的交互过程 一、HTTPS协议 在http的通道上增加了安全性,传输过程通过加密和身份认证来确保传输安全性 1、TLS …

vue3 中使用pinia 数据状态管理(在Taro 京东移动端框架中的使用)

1.pinia 介绍 pinia 是 Vue 的存储库,它允许您跨组件/页面共享状态。就是和vuex一样的实现数据共享。 依据Pinia官方文档,Pinia是2019年由vue.js官方成员重新设计的新一代状态管理器,更替Vuex4成为Vuex5。 Pinia 目前也已经是 vue 官方正式的…

单页404源码

<!doctype html> <html> <head> <meta charset"utf-8"> <title>简约 404错误页</title><link rel"shortcut icon" href"./favicon.png"><style> import url("https://fonts.googleapis.co…

QT 信号和槽机制

信号&#xff1a;各种事件 槽&#xff1a; 响应信号的动作 当某个事件发生后&#xff0c;如某个按钮被点击了一下&#xff0c;它就会发出一个被点击的信号&#xff08;signal&#xff09;。 某个对象接收到这个信号之后&#xff0c;就会做一些相关的处理动作&#xff08;称为槽…

Java 基于微信小程序的私家车位共享系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

在VSCode中创建Java项目

在VSCode中创建Java项目 首先&#xff0c;保证安装了Java的JDK. WinR -> 输入cmd -> 输入 java -version -> 然后可以看到安装的JDK版本&#xff0c;如果没安装可以去找教程。 JDK安装参考教程 打开VSCode&#xff0c;打开扩展&#xff08;Ctrl Shift S&#xff…

2024-02-13 Unity 编辑器开发之编辑器拓展4 —— EditorGUIUtility

文章目录 1 EditorGUIUtility 介绍2 加载资源2.1 Eidtor Default Resources2.2 不存在返回 null2.3 不存在则报错2.4 代码示例 3 搜索框查询、对象选中提示3.1 ShowObjectPicker3.2 PingObject3.3 代码示例 4 窗口事件传递、坐标转换4.1 CommandEvent4.2 GUIPoint 和 ScreenPoi…

鸿蒙开发第3篇__大数据量的列表加载性能优化

列表 是最常用到的组件 一 ForEach 渲染控制语法————Foreach Foreach的作用 遍历数组项&#xff0c;并创建相同的布局组件块在组件加载时&#xff0c; 将数组内容数据全部创建对应的组件内容&#xff0c; 渲染到页面上 const swiperImage: Resource[] {$r("app.me…

【EAI 019】Eureka: Human-Level Reward Design via Coding LLM

论文标题&#xff1a;Eureka: Human-Level Reward Design via Coding Large Language Models 论文作者&#xff1a;Yecheng Jason Ma, William Liang, Guanzhi Wang, De-An Huang, Osbert Bastani, Dinesh Jayaraman, Yuke Zhu, Linxi Fan, Anima Anandkumar 作者单位&#xff…

书生·浦语大模型第四课作业

基础作业&#xff1a; 构建数据集&#xff0c;使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手&#xff0c;效果如下图所示&#xff0c;本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称&#xff01; 1.安装 # 如果你是在 Int…

使用 Windows 11/10 上的最佳 PDF 转 Word 转换器释放 PDF 的潜力

毫无疑问&#xff0c;PDF 是最好的文档格式之一&#xff0c;但就像其他格式一样&#xff0c;有时它们确实会带来一些限制。例如&#xff0c;在某些情况下&#xff0c;您可能想要将 PDF 转换为 Word。在这种情况下&#xff0c;您始终可以借助 PDF 到 Word 转换器的帮助。 为了说…

【C语言期末项目-通讯录】-升级可动态申请内存版(手把手详细过程,期末评分A+的项目,答辩辅助神博文,建议三连点赞收藏)

目录 ​编辑 前言&#xff1a; 1.项目功能需求分析 2.文件框架说明 3.程序主框架实现 4.创建联系人结构体类型和通讯录结构体类型 4.1创建通讯录 5.程序功能实现--封装功能函数实现不同功能 5.1通讯录初始化 5.2增加联系人 5.3显示所有联系人的信息 5.4删除指定…