数据分析基础之《matplotlib(2)—折线图》

一、折线图绘制与保存图片

1、matplotlib.pyplot模块
matplotlib.pyplot包含了一系列类似于matlab的画图函数。它的函数作用于当前图形(figure)的当前坐标系(axes)

import matplotlib.pyplot as plt

2、折线图绘制与显示
展示城市一周的天气,比如从星期一到星期日的天气温度如下

# 1)创建画布(容器层)
plt.figure()
# 2)绘制折线图(图像层)
plt.plot([1,2,3,4,5,6,7], [17,17,18,15,11,11,13])
# 3)显示图像
plt.show()

3、设置画布属性与图片保存
plt.figure(figsize=(), dpi=)
figsize:指定的长宽
dpi:图像的清晰度,dot per inch 每英寸有多少个点
返回fig对象
plt.savefig(path)

# 1)创建画布(容器层)
plt.figure(figsize=(20,8), dpi=100)
# 2)绘制折线图(图像层)
plt.plot([1,2,3,4,5,6,7], [17,17,18,15,11,11,13])
# 保存图像
plt.savefig("/root/test78.png")
# 3)显示图像
plt.show()

注:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片

二、完善原始折线图1(辅助显示层)

1、案例:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度

2、准备数据并画出初始折线图​

# 案例:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度

import random

# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)

# 3、绘制图像
plt.plot(x, y_shanghai)

# 4、显示图像
plt.show()

3、添加自定义x、y刻度
修改刻度

(1)plt.xticks(x, [labels], **kwargs)
说明:
x:要显示的刻度值
[labels]:数组类型,用于设置每个间隔的显示标签
**kwargs:用于设置标签字体倾斜度和颜色等外观属性

(2)plt.yticks(y, **kwargs)
说明:
y:要显示的刻度值
**kwargs:刻度值显示的说明

import random

# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)

# 3、绘制图像
plt.plot(x, y_shanghai)

# 修改x、y刻度
# 准备x的刻度说明
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0, 40, 5))

# 4、显示图像
plt.show()

4、中文显示问题解决

(1)安装依赖包
yum install fontconfig mkfontscale

(2)从windows系统复制一个微软雅黑
C:\Windows\Fonts\msyh.ttc

(3)将msyh.ttc上传到
/usr/share/fonts/

(3)刷新缓存
mkfontscale && mkfontdir && fc-cache

(4)找到配置文件位置

import matplotlib
matplotlib.matplotlib_fname()

显示
/usr/local/lib64/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc

(6)编辑文件matplotlibrc
找到font.family,去掉注释
找到font.sans-serif,去掉注释,并加上Microsoft YaHei

(7)删除缓存
cd ~/.cache/matplotlib/
rm -r *

(8)代码

import random

# 设置字体
plt.rcParams["font.sans-serif"]=["Microsoft YaHei"]
# 该语句解决图像中的“-”负号的乱码问题
plt.rcParams["axes.unicode_minus"]=False

# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)

# 3、绘制图像
plt.plot(x, y_shanghai)

# 修改x、y刻度
# 准备x的刻度说明
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0, 40, 5))

# 4、显示图像
plt.show()

5、添加网络显示
plt.grid(b, linestyle='', alpha=)
说明:
b:布尔值,是否显示网格
linestyle:线条风格
alpha:透明度

import random

# 设置字体
plt.rcParams["font.sans-serif"]=["Microsoft YaHei"]
# 该语句解决图像中的“-”负号的乱码问题
plt.rcParams["axes.unicode_minus"]=False

# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)

# 3、绘制图像
plt.plot(x, y_shanghai)

# 修改x、y刻度
# 准备x的刻度说明
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)

# 4、显示图像
plt.show()

6、添加描述信息
添加x轴、y轴,描述信息及标题

import random

# 设置字体
plt.rcParams["font.sans-serif"]=["Microsoft YaHei"]
# 该语句解决图像中的“-”负号的乱码问题
plt.rcParams["axes.unicode_minus"]=False

# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)

# 3、绘制图像
plt.plot(x, y_shanghai)

# 修改x、y刻度
# 准备x的刻度说明
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.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("某城市11点到12点每分钟的温度变化状况")

# 4、显示图像
plt.show()

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

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

相关文章

科普:多领域分布式协同仿真

分布式协同仿真是一种在分布式计算环境中进行协同工作的仿真方法。使用该方法进行协同仿真时,仿真任务将被分发到多个计算节点上,并且这些节点可以同时工作以模拟完整的系统行为。分布式协同仿真已被广泛应用于工程、科学和军事领域,以便更好…

交叉导轨在光学工作台起什么重要作用?

光学工作台常常需要承载和移动各种光学元件和仪器,如望远镜、显微镜、光谱仪等,这些设备需要在空间中进行精确的定位和稳定支撑,而交叉导轨作为一种高精度、高刚度的直线传动元件,为光学工作台提供了重要的支撑和导向。 1>交叉…

Python开源项目之人工智能老照片修复算法学习

文章目录 前言项目环境搭建conda虚拟环境创建激活环境Pytorch安装Synchronized-BatchNorm-PyTorch repository安装Global目录Synchronized-BatchNorm-PyTorch项目部署检测预处理模型下载下载脸部增强模型文件下载依赖完整部署后项目结构 项目使用验证一下总结关于Python技术储备…

万宾科技可燃气体监测仪的功能有哪些?

随着城市人口的持续增长和智慧城市不断发展,燃气作为一种重要的能源供应方式,已经广泛地应用于居民生活和工业生产的各个领域。然而燃气泄漏和安全事故的风险也随之增加,对城市的安全和社会的稳定构成了潜在的威胁。我国燃气管道安全事故的频…

喜讯!云起无垠成为国家信息安全漏洞库(CNNVD)技术支撑单位

近日,云起无垠凭借其在漏洞挖掘、漏洞检测以及漏洞修复等领域的卓越表现,荣获“国家信息安全漏洞库(CNNVD)技术支撑单位等级证书(三级)”,正式成为CNNVD技术支撑单位。 中国国家信息安全漏洞库&…

Doris中的物化视图-查询(十九)

物化视图创建完成后,用户的查询会根据规则自动匹配到最优的物化视图。 比如我们有一张销售记录明细表,并且在这个明细表上创建了三张物化视图。一个存储了不同时间不同销售员的售卖量,一个存储了不同时间不同门店的销售量,以及每…

Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

云服务器主机安全加固 1.SSH登录尝试的系统日志信息2.安全加固方法2.1 修改SSHD端口2.2 禁用登陆失败的IP地址2.3 使用密钥登录 3.总结 1.SSH登录尝试的系统日志信息 Last failed login: Sat Oct 7 14:10:39 CST 2023 from xxx.xx.xx.xxx on ssh:notty There were 10 failed …

仙女麻麻看过来~这是不是你们在找的外套?

分享女儿的秋冬穿搭 时尚与美观兼具的毛毛外套 洋气百搭不挑人穿 谁穿对都好看系列 经典宽松版型 不臃肿对身材包容性很强 小编墙裂推荐哦!!

计算机组成原理-磁盘存储器

文章目录 总览外存储器磁盘存储器磁盘的性能指标磁盘地址磁盘的工作过程磁盘阵列 总结 总览 外存储器 磁盘存储器 写是利用电流产生磁场从而写磁盘 读是利用载磁体移动时产生的电场从而得到数据 磁性材质易受外界磁场干扰 下图中 载磁体上N S的前后顺序代表对应存储二进制的比…

nginx的n种用法(nginx安装+正向代理+反向代理+透明代理+负载均衡+静态服务器)

nginx的安装 一、安装依赖 # 一键安装四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel二、安装nginx yum install nginx三、检查是否安装成功 nginx -v四、启动/停止nginx /etc/init.d/nginx start /etc/init.d/nginx stop五、编辑配置文件…

Git永久或者限时保存用户名及密码,解决每次拉取或者提交代码时都需要手动输入验证信息

介绍 这里以我自身项目情况为例: 依据项目要求,这边使用了 TortoiseGit进行项目的统一管理,下载了 TortoiseGit克隆项目之后,每次拉取或者提交代码,都会弹出一个提示框,要求输入用户名及密码。 解决方式 单个仓库内设置,只作用于对当前仓库 在当前项目目录文件夹下,…

面试:ShardingSphere问题

文章目录 什么是ShardingSphere,它的主要功能是什么?ShardingSphere的核心模块有哪些?他们是如何工作的?ShardingSphere 的读写分离是如何实现的?如何配置ShardingSphere的数据分片策略?ShardingSphere支持…

广告屏LED屏断电检测远程控制开关方案应用钡铼技术S270

广告屏LED屏断电检测: 广告屏和LED屏在商业和公共场所的广泛应用中扮演着重要角色,但由于断电问题可能导致广告屏无法正常显示,进而影响广告宣传效果和客户体验。而S270作为一种高效稳定的远程控制开关,可以实现广告屏LED屏的断电…

UEditor编辑器实现上传图片自动加水印功能PHP源码

UEditor编辑器是百度旗下的免费开源富文本编辑器,使用很方便,但是也有缺点,比如,上传图片不能自动添加水印,下边我们就来说说如何在UEditor编辑器中自动实现上传图片添加水印功能,操作很简单。 首先找到UEditor/PHP目录下的Uploader.class.php的文件,打开该文件,找到以…

oracle的debjob挂載及查詢

背景 有一個需求需要定時去執行一個produce,可以使用oracle的dbjob定時執行,相比較之前的vbs更加絲滑 --傳遞produce 開始的時間 頻率 declarea number;beginDBMS_JOB.SUBMIT(a,xx_warehouse_daliy_record_p;,to_date(202311230800,yyyymmddhh24mi),…

win11渗透武器库,囊括所有渗透工具

开箱即用,最全的武器库,且都是2023年11月最新版,后续自己还可以再添加,下载地址:https://download.csdn.net/download/weixin_59679023/88565739 服务连接 信息收集工具 端口扫描 代理抓包 漏洞扫描 指纹识别 webshel…

解释PCIe MSI 中断要求中断向量连续?PCIe 规范里并没有明确指出

MSI 向量必须连续? 前言 MSI 物理条件,MSI 中断产生的逻辑是RC初始化的时候,由软件将配置写入到 EP 的 2 个寄存器中,这两个寄存器一个指示的是地址 Message Address,一个指示的是数据 Message Data。当 EP 试图触发…

MapReduce杂谈

1.工作流程 MapReduce的核心思想可以用“分而治之”来描述,即把一个大的数据集拆分成多个小数据块在多台机器上并行处理,也就是说,一个大的MapReduce作业的处理流程如下:   首先会被拆分成许多个Map任务在多台机器上并行执行&am…

PHP5.3 + Apache2.2 + Xdebug2.1.2环境并集成至PHPStrom全流程(解决使用最好的语言前的痛点问题)

文章目录 问题背景安装流程PHP安装配置PHPApache安装及配置PHPStrom集成PHP环境进行PHP开发 问题背景 由于公司陈旧项目的重新启动,现需要对该项目开发微信登录模块,本人是写 Java 的,但本着程序员终身学习、不惧新事物的特点,现…
最新文章