Python可视化Matplotlib折线图plot用法详解
作者:Dragon少年 发布时间:2021-01-04 03:06:15
折线图是数据分析中非常常用的图形。其中,折线图主要是以折线的上升或下降来表示统计数量的增减变化的统计图。用于分析自变量和因变量之间的趋势关系,最适合用于显示随着时间而变化的连续数据,同时还可以看出数量的差异,增长情况。
特点:能够显示数据的变化趋势,反映事物的变化情况。
Matplotlib 中绘制折线图的函数为 plot() ,使用语法如下:
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
常用参数及说明:
参数 | 接收值 | 说明 | 默认值 |
---|---|---|---|
x,y | array | 表示 x 轴与 y 轴对应的数据 | 无 |
color | string | 表示折线的颜色 | None |
marker | string | 表示折线上数据点处的类型 | None |
linestyle | string | 表示折线的类型 | - |
linewidth | 数值 | 线条粗细:linewidth=1.=5.=0.3 | 1 |
alpha | 0~1之间的小数 | 表示点的透明度 | None |
label | string | 数据图例内容:label=‘实际数据' | 1None |
1.完善原始折线图 — 给图形添加辅助功能
需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~25度
1.1 准备数据并画出初始折线图
import matplotlib.pyplot as plt
import random
# 画出温度变化图
# 0.准备x, y坐标的数据
x = range(60)
y_jiangsu = [random.uniform(15, 25) for i in x]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 2.绘制折线图
plt.plot(x, y_jiangsu)
# 3.显示图像
plt.show()
1.2 添加自定义x,y刻度
plt.xticks(x, **kwargs)
x:要显示的刻度值
plt.yticks(y, **kwargs)
y:要显示的刻度值
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)
# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
1.3 中文显示问题解决
如果没有解决过中文问题的话,绘制的图像会出现中文无法显示的问题。
解决方案:
在Python脚本中动态设置matplotlibrc,这样也可以避免由于更改配置文件而造成的麻烦,具体代码如下:
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,例如无法显示负号问题,此时需要更改axes.unicode_minus参数:
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
1.4 添加网格显示
为了更加清楚地观察图形对应的值
plt.grid(True, linestyle='--', alpha=0.5)
1.5 添加描述信息
添加x轴、y轴描述信息及标题
通过fontsize参数可以修改图像中字体的大小
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("江苏中午11点0分到12点之间的温度变化图示", fontsize=20)
1.6 图像保存
# 保存图片到指定路径
plt.savefig("test.png")
注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。
2. 在一个坐标系中绘制多个图像
2.1 多次plot
需求:再添加一个城市的温度变化
收集到北京当天温度变化情况,温度在1度到3度。怎么去添加另一个在同一坐标系当中的不同图形,其实很简单只需要再次plot即可,但是需要区分线条。
# 增加北京的温度数据
y_beijing = [random.uniform(1, 3) for i in x]
# 绘制折线图
plt.plot(x, y_jiangsu)
# 使用多次plot可以画多个折线
plt.plot(x, y_beijing, color='r', linestyle='--')
2.2 显示图例
注意:如果只在plt.plot()中设置label还不能最终显示出图例,还需要通过plt.legend()将图例显示出来。
# 绘制折线图
plt.plot(x, y_jiangsu, label="江苏")
# 使用多次plot可以画多个折线
plt.plot(x, y_beijing, color='r', linestyle='--', label="北京")
# 显示图例
plt.legend(loc="best")
完整代码:
# 0.准备数据
x = range(60)
y_jiangsu = [random.uniform(15, 25) for i in x]
y_beijing = [random.uniform(1,3) for i in x]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制图像
plt.plot(x, y_jiangsu, label="江苏")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 2.1 添加x,y轴刻度
# 构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(35)
# 刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 2.2 添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)
# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点--12点某城市温度变化图", fontsize=20)
# 2.4 图像保存
plt.savefig("./test.png")
# 2.5 添加图例
plt.legend(loc="best")
# 3.图像显示
plt.show()
2.3 折线图的应用场景
呈现公司产品(不同区域)每天活跃用户数
呈现app每天下载数量
呈现产品新功能上线后,用户点击次数随时间的变化
创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
Dragon少年 | 文
如果本篇博客有任何错误,请批评指教,不胜感激 !
以上就是Python可视化Matplotlib折线图plot用法详解的详细内容,更多关于Python可视化Matplotlib的资料请关注脚本之家其它相关文章!
来源:https://blog.csdn.net/hhladminhhl/article/details/109158724


猜你喜欢
- 思考一个问题:怎么实现在第一次检索的基础上进行二次检索?通常,我们的做法是第一次检索时保存检索条件,在第二次行检索时组合两次检索条件对数据库
- 用coding-pages打开后显示Failed to load resource: the server responded with a
- 需求背景女朋友的论文需要爬取YouTube视频热评,但爬下来的都是外文。主要设计 读取一个表格文件,获取需要翻译的文本
- 1、数据集简述: 虽然有主流庞大的COCO、VOC数据集,
- open 遍历一个大日志文件使用 readlines() 还是 readline() ?总体上 readlines() 不慢于python
- 个人使用环境WIN10x64系统,Python3.8,PyCharm2020.01.03安装过程一、安装Python3.8(自己参考其他教程
- 前面的话一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增
- //关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=jav
- 该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!CSV
- Beautiful Soup是一种Python的解析库,主要用于解析和处理HTML/XML内容。它是基于Python的标准库和第三方库的结合
- 1,首先是视频数据[摄像头图像]的采集,通常可以使用vfw在vc或者vb下实现,这个库我用的不好,所以一直不怎么会用.现在我们用到的是pyt
- 函数:len()1:作用:返回字符串、列表、字典、元组等长度2:语法:len(str)3:参数:str:要计算的字符串、列表、字典、元组等4
- 1、使用基础Python代码来读写和处理CSV文件import sys#使用基础Python代码来读写和处理CSV文件input_file
- 一、进程介绍进程:正在执行的程序,由程序、数据和进程控制块组成,是正在执行的程序,程序的一次执行过程,是资源调度的基本单位。程序:没有执行的
- 1.使用场景定时执行jmeter脚本,通过python定时器隔一段时间执行命令行命令。2.库os、datetime、threading(1)
- 一、创建配置文件在D盘建立一个配置文件,名字为:test.ini内容如下:[baseconf]host=127.0.0.1port=3306
- 这段时间在处理SQL server 2000 SP4补丁打不上的问题上花了不少时间,回头想想应该总结一下:系统说明:dell1800服务器,
- 在对浏览器兼容性要求越来越高的时候,大家是否正在寻找一个完整的解决方案呢?继《[原]最新CSS兼容方案》之后,更新的CSS hack出炉啦,
- 注意,在改变数值之前锁定应用,确保一段时间里只有一个客户执行该语句。<SCRIPT LANGUAGE="VBScr
- 目录前言创建对象方式一:方式二:更新对象方式一:方式二:方式三:查询检索全部对象:条件过滤:方式一:方式二:检索单个对象:总结前言上篇已经介