没数据时y轴不显示_Matplotlib数据可视化

69a50af6a5f7d26301252d6d751608fc.png

1.Matplotlib介绍

什么是Matplotlib

Matplotlib是一个Python的绘图库,它可与 NumPy 一起使用,可以代替M

Matplotlib安装

由于Matplotlib是第三方库,所以我们需要安装它才可以使用。注意,Matplotlib3.0要求python3版本才可安装使用。

安装命令:pip install matplotlib

安装可参考官网:https://matplotlib.org/users/installing.html

2.使用matplotlib绘图

使用plt.figure生成一张新的画布

536c9a18d09ae3fbdd8104c8f1a04b94.png

注意

  • 在IPython中,执行该代码一个空白的绘图窗口就会出现,但在Jupyter中则没有任何显示

但是可以通过fig.add_subplot创建一个或多个子图。

如:带有四个子图的空白Matplotlib图片

22b90fb4f66edb8d14bda0bb9d86345c.png

除此之外,Matplotlib包含一个便捷方法plt.subplots创建一个新的图片,然后返回包含了已生成子图对象的Numpy数组。

  • plt.subplots(nrows, ncols, sharex, sharey)
    • nrows子图的行数
    • ncols子图的列数
    • sharex 所有子图使用相同的x轴刻度
    • sharey 所有子图使用相同的y轴刻度

a51339f7b53849a42949e65f4356c56d.png

那么实际上,当我们不需要使用子图时,可以通过plt对象直接绘制图形。

3.使用matplotlib绘制折线图

折线图可以通过plot()函数来绘制

  • plt.plot(x, y) # 使用默认的线样式及颜色绘制x,y构建的图形

d39da41c1b0d428ccf6409b74dac9263.png

并且,plt.plot()函数除了传入制图数据,还可以设置线的颜色等。

  • color 设置线的颜色
  • linestyle 设置线的样式
  • marker 标记样式

ff3ea99c5532c4bfc6338f2d03e1a25e.png

plt.plot()参数使用具体可参考:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot

图形组成

实际上,图形的组成除了x,y轴。还有很多组件。如下图

8721da434bf65be14a8b0e337f88ad54.png

常用的plt方法

plt.figure(figsize=None,dpi=None) #生成新的图片,figsize:图片大小,dpi:透明度

plt.savefig(fname) #保存图片

plt.xticks(ticks=None) #设置x轴刻度的值

plt.yticks(ticks=None) #设置y轴刻度的值

plt.xlabel(xlabel) #设置x轴标签

plt.ylabel(ylabel) #设置y轴标签

plt.title() #设置图标题

plt.grid() #根据x轴和y轴的数值展示轴网格

中文显示问题

当我们需要设置轴标签,标题等,通常会使用到中文。但是,matplotlib默认不显示中文,如图:

2adae76bf4f105a42f734da6ca147946.png

解决方法
方法一

import matplotlib 
font = { 'family':'SimHei', 'weight':'bold', 'size':12 
} 
matplotlib.rc("font", **font)

方法二

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties 
font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]plt.plot(x,y)
plt.xlabel("x轴标签",fontproperties=font)
plt.show()

练习

如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况

练习

假设大家在30岁的时候,根据自己的实际情况,统计出来了你和同桌从11岁到30岁每年交的男女朋友的数量如列表a和b,请绘制出该数据的折线图,以便分析自己和同桌每年交男女朋友的数量走势

a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]

b = [1,0,3,1,2,2,2,3,1,1,1,1,1,2,1,1,2,3,2,2]

要求:

  • y轴表示个数
  • x轴表示岁数,比如11岁,12岁

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

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

相关文章

循环划线_经济内外双循环下的思考!

原创:群赢说到这个内外双循环,我们汽车后市场朋友们,应该知道车子发动机水冷系统就是一个双循环,内部小循环,外部大循环。在发动机温度不高的时候,水在做小循环,在发动机周边流动。当发动机温度…

计算机组成原理实验软件仿真系统_计算机系统组成原理(基础)

网上关于计算机系统的讨论众说纷纭。刚开始,我卯足了劲想寻找一个标准答案,后来发现这并不存在!因为计算机系统层次不一,看你从什么角度来理解这个问题。在这篇文章里,我的介绍一切从简,不求锦上添花&#…

1110: 最近共同祖先(函数专题)

1110: 最近共同祖先(函数专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 3818 解决: 3290 [提交] [状态] [讨论版] [命题人:admin] 题目描述 如上图所示,由正整数1, 2, 3, …组成了一棵无限大的二叉树。从某一个结点到根结 点(编…

echart freemarker 模板_SpringBoot集成Freemarker模板生成Echarts图片(三)

紧接着前面两篇,本篇采用Freemarker模板来生成Echarts图片。一. 项目结构二. Freemarker模板(1)柱状图{"title": {"text": "${title}","textStyle": {"color": "red","fontSize": 15,"…

ios 系统提示框_ios13终于能屏蔽系统更新了!附详细教程

很多人会遇到这样的烦恼,ios频繁更新,自己用惯了当前系统版本,系统总提示新的更新请求,不小心点到之后,系统就会自动更新安装,有很多小伙伴更新后,手机变卡顿,耗电量加大&#xff0c…

判断是否有小数_一线老师笔记:数学判断题拿高分的技巧

01什么是判断题?判断是关于对象和它属性有所肯定或者否定的思维形式。在研究数学中,经常要对现实世界的空间形式和数量关系,作出肯定或者否定的回答,因而要大量使用判断,并把一些正确的判断作为进一步研究问题的依据。…

mysql 导入 sqlite_Mysql 数据导入SQlite

SQlite 有一个很强大的管理工具名字叫做Sqlite Developer (官方网站)。在Sqlite Developer中有关于数据导入的强大功能。可以将MSSQL Oracl Aeecss等等数据库导入到Mysql中。但是,默认在Win7环境中没有Mysql的倒入方式。你需要一个叫做“Mysql ODBC”的win客户端工具…

centos 安装mysql 5.7.9_CentOS 6.6下RPM方式安装MySQL 5.7.9

说明:从MySQL5.7.4起,以RPM包的方式安装后的MySQL的部署,默认是安全的,并且有这些特点:1. 在大多数情况下,你只需要安装MySQL-server和MySQL-client安装包就可以安装上一个标准功能的MySQL。对于一个标准安…

mongodb 导入 mysql_将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...

需求:将mongodb 数据指定字段导出,然后再指定字段导入mysql 表中直接上图吧,最后 会将遇到几个问题及解决方案贴出,以便遇到类似问题可以迅速解决(期间所用命令具体用法不在本文详解之内)将mongodb 数据指定字段导出,…

mysql外部排序_深入浅出MySQL优先队列(你一定会踩到的order by limit 问题)

0.先抛问题假设字段category无索引且有重复值,order by category 和 limit 组合使用的结果会和预期不符。问题复现:表结构(就是两个字段)CREATE TABLE ratings (id int(11) NOT NULL AUTO_INCREMENT,category int(11) DEFAULT NULL,PRIMARY KEY (id)) EN…

navicat fo mysql 教程_Navicat For MySQL的简单使用教程

1.前提是必须先安装好MySQL数据库(Mac下安装MySQL数据库见前一篇)2.安装Navicat3.点击navicate左上角:连接->MySQL->先测链接下,如果提示连接成功,就可以填写连接名,点击连接即可。双击刚创建的连接下面会有四个数据库用naV…

mysql官网 ab_MySQLAB同步

MySQL 支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日1 . 介绍MySQL 支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并…

mvc json 乱码_你了解JSON吗?——Jackson、FastJson在SpringMVC中的简单使用

原文参考分享自CSDN:你了解JSON吗?--Jackson、FastJson在SpringMVC中的简单使用_欢迎来到 Baret~H 的博客-CSDN博客1. 什么是 JSONJSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式采用完全独立于编程语…

format 函数包含_Python成为专业人士笔记-高级对象Format格式化

“专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com在存储和转换数据输出供查看时,字符串格式可能变得非常重要。Python提供了本文概述的各种字符串格式化方法…

python 预测算法_Python 与金融数据使用机器学习算法预测交易策略

记得 关注、分享、点在看呀~ 这样您就能持续收到优质的推送啦这一期,我们将使用上一期处理好的数据特征和标签训练机器,然后预测交易策略。我们将分别使用 K近邻算法和集成学习两种方法分别完成模型的训练和预测。FinTech HistoryPython 与金…

mysql 存储过程插入慢_mysql存储过程太慢怎么办

mysql存储过程太慢的解决方法:首先打开my.cnf配置文件;然后添加配置【long_query_time1】;接着通过【tail -f /tmp/logs/mysqld.log】命令监控sql;最后进行针对性的优化即可。解决方法:第一步:修改/etc/my.…

导出远程mysql数据库中的表_shell脚本实现导出远程mysql数据库表数据至本地

bin/main.sh脚本内容 #!/bin/bash#作用:用于同步远程mysql数据库表数据至本地#作者:丁艺博source /etc/profilesource ~/.bash_profileexport LANGen_US.UTF-8export RUN_HOME$(cd "$(dirname "$0")"; echo "${PWD%/*}")s…

商业智能解决方案_格至智能开关:简单便捷的商业智能照明解决方案

美莱恩智能照明推出的格至智能调光开关,是一款便捷、可轻松实现扩展的智能照明系统。它能够节约能源,并在为各种空间工作或者学习的人们,营造最舒适的照明环境。借助美莱恩SLT单火线传输技术,在新建或者改造项目中,你将…

vue 安装 less_解决旧Vue项目升级less-loader 6.0.0报错

作为一个爱折腾的主,我的package随时都是ncu -u! 何为ncu,就是检查nodejs npm/yarn项目依赖最新版本package.json一个插件! 这不,前几天less-loader 升级了最新版,我也迫不及待升级。 升级最新版软件依赖有很多好处,总之作为一个开发者你发布新版本肯定是升级改造的工作…

反积分饱和 程序_用抗积分饱和PID控制传递函数为G(s)的被控对象

题目:用抗积分饱和PID控制传递函数为G(s)的被控对象G(s)523500/(s^387.35s^210470s)二、抗积分饱和原理积分饱和现象是在系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断加大而加大,从而导致执行器达到极限位置,如果控…