没数据时y轴不显示_Matplotlib数据可视化
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生成一张新的画布
注意
- 在IPython中,执行该代码一个空白的绘图窗口就会出现,但在Jupyter中则没有任何显示
但是可以通过fig.add_subplot创建一个或多个子图。
如:带有四个子图的空白Matplotlib图片
除此之外,Matplotlib包含一个便捷方法plt.subplots创建一个新的图片,然后返回包含了已生成子图对象的Numpy数组。
- plt.subplots(nrows, ncols, sharex, sharey)
- nrows子图的行数
- ncols子图的列数
- sharex 所有子图使用相同的x轴刻度
- sharey 所有子图使用相同的y轴刻度
那么实际上,当我们不需要使用子图时,可以通过plt对象直接绘制图形。
3.使用matplotlib绘制折线图
折线图可以通过plot()函数来绘制
- plt.plot(x, y) # 使用默认的线样式及颜色绘制x,y构建的图形
并且,plt.plot()函数除了传入制图数据,还可以设置线的颜色等。
- color 设置线的颜色
- linestyle 设置线的样式
- marker 标记样式
plt.plot()参数使用具体可参考:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot
图形组成
实际上,图形的组成除了x,y轴。还有很多组件。如下图
常用的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默认不显示中文,如图:
解决方法
方法一
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岁
没数据时y轴不显示_Matplotlib数据可视化相关推荐
- matplotlib 设置标注方向_matplotlib y轴标注显示不全以及subplot调整的问题
matplotlib y轴标注显示不全以及subplot调整的问题 问题: 我想在y轴显示的标注太长,想把它变成两行显示,发现生成的图形只显示的第二行的字,把第一行的字挤出去了 想要的是显示两行这样子 ...
- echarts折线图鼠标悬浮竖线_echarts y轴,显示数据,但不显示竖线
在yAxis中插入: axisLine: {show:false}, axisTick: {show:false}, yAxis : [ { show:true, axisLine: {show:fa ...
- ECharts 多个y轴时使用series.yAxisIndex给数据指定y轴
1 使用详解 yAxisIndex 说明:使用的 y 轴 的 index,在单个图表实例中存在多个 y轴的时候有用. 默认值:0. 参数类型:number. 2 原始效果图 3 实现代码(给数据指定y ...
- 关于FusionChartsFree y轴不显示中文 的解决办法
关于FusionChartsFree y轴不显示中文 的解决办法 ---首先说明,小辈这是第一次写blog,下面的文章可能写的不是很好,希望前辈们多多指教! 在网上搜了很多关于"Fusion ...
- echarts柱状图x,y轴对应多条数据(可自定义)
echarts,x,y轴对应多条数据,y轴取反就行 先说需求,我做这个图表是多个物流商对应不同月份的数值 配置项option option = {tooltip: {trigger: 'axis',a ...
- R语言ggplot2包和lattice包可视化改变x轴和y轴的显示位置实战
R语言ggplot2包和lattice包可视化改变.自定义x轴和y轴的显示位置实战 目录 R语言ggplot2包和lattice包可视化改变.自定义x轴和y轴的显示位置实战
- mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法
mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...
- echarts y轴只显示5个刻度_Echarts 双Y轴刻度不一致
项目中使用了 百度Echarts 根据项目需要,要实现双Y轴展示柱状图 最终的样子是这样的 最终效果 实现过程中遇到的问题 一开始是这个样子的(因为没有设置max min,天真的以为只要有数据,就会系 ...
- EChart 标题 title 样式,x轴、y轴坐标显示,调整图表位置等
示例里工作一般情况是够用了,更复杂的可以查询教程: title 官方解说:http://echarts.baidu.com/option.html#title 坐标相关: X轴:http://echa ...
最新文章
- C linux 深入学习 errorfunction的创建
- [CentOS7] 常用工具 之 差异备份工具 rdiff-backup
- 爱心志愿者义工俱乐部公告
- 英国电信宣布2030年前碳排放削减87%
- python 有限域函数库_深入比特币之有限域运算
- 抓包工具Charles使用教程
- LIO-SAM探秘第一章之论文解析
- HIT CSAPP 大作业
- react17.x+MDUI实现todo小案例,react动态添加与删除元素属性
- url的中文转码和解码
- code vs 集成tfs_Microsoft强大团队(源代码)管理工具--TFS2010 与vs结合
- 【第三方互联】2、创建腾讯QQ互联应用
- 基于linux 的 PCI PCIe 总线分析总结
- TXT文件导入mysql
- vincy:提升购买欲望的13种手段
- 测量网页元素的大小和间距的利器
- android 4.4 蓝牙开发总结(电视盒子)
- pandas读取Excel判断指定列是否有空值
- 太香了!推荐6个Python数据分析神器!!
- 2019年最新最全的医疗网站优化方案
热门文章
- 【BAT面试现场】如何判断一个数是否在40亿个整数中?
- 备案域名绑定服务器后 提示需要备案_小程序开发需要多少钱?
- jq ajax异步上传文件,jQuery插件ajaxFileUpload异步上传文件
- Linux7/Redhat7/Centos7 安装Oracle 12C_配置IP、系统参数_02
- 前后端分离,如何解决跨域(代理模式)、路由拦截(进入页面需要登录)以及请求拦截(登录TOKEN失效)等问题(初学者)
- 关于在nw里使用require('printer')和nw.require('printer')报错的问题
- 编写C语言代码,实现以下功能:输入平面上两个点P1(x1,y1)和P2(x2,y2)的坐标,以这两个点为左上角和右下角可以确定一个矩形,输出这个矩形的周长。要求平面上点的坐标和矩形都用结构体来表示。
- 服务器cpu虚拟插槽,服务器更换cpu插槽
- html边框大一点,CSS3 框大小(box-sizing)
- 设置线程当天十二点执行_这份JAVA多线程笔记真的是细节满满,几乎全是你工作能用到的干货...