python 用matplotlib绘制折线图详情
作者:盆友圈的小可爱 发布时间:2022-03-23 16:38:19
目录
1. 折线图概述
1.1什么是折线图?
1.2折线图使用场景
1.3绘制折线图步骤
1.4案例展示
2. 折线2D属性
2.1linestyle:折线样式
2.2color:折线颜色
2.3marker:坐标值标记
2.4fillstyle:标记填充方法
2.5linewidth(lw): 直线宽度
3. 坐标管理
3.1坐标轴名字设置
3.2坐标轴刻度设置
3.3坐标轴位置设置
3.4指定坐标值标注
4. 多条折线展示图
5. 图列管理
复习回顾:
众所周知,matplotlib 是一款功能强大开源的数据可视化模块,凭借着强大的扩展性构建出更高级别的绘图工具接口如seaborn、ggplot。我们来看看往期学习章节内容概述吧~
matplotlib 模块基础知识:对matplotlib模块具有便利的交互新创建图表、多种图表定制以及强大的可扩展性,matplotlib可满足不同用户的使用,初次体验绘制图表功能
matplotlib 模块底层原理:matplotlib 模块包含脚本层、美工层及后端层,对各个层相关提供的操作进行学习
在 matplotlib 官网教程中,可以绘制诸如折线图、柱状图、饼图等常规图外,还有可以绘制动态图、散点图、等高线图、帽子图、多个子图等
接下来,我们将继续学习matplotlib 图表绘制具体的功能实操,掌握针对不同图表的绘制
1. 折线图概述
1.1什么是折线图?
折线图是在坐标中通过线条升降的方式展示随着某种变化而变化的连续性数据
通过折线的起伏表示数据的增减变化的情况
折线图可以拆分为动态折线图、依存关系折线图和次数分布折线图
1.2折线图使用场景
折线图自身的线条的变化,可以在图表中清晰读取到数据变化情况,可以运用的场景特点如下
描绘统计事项总体指标的动态
研究对象间的依存关系
总体中各个部分的分配情况
适合大量数据展示其趋势变化
1.3绘制折线图步骤
导入
matplotlib.pyplot
模块准备数据,可以使用
numpy/pandas
整理数据调用
pyplot.plot()
绘制折线图
1.4案例展示
接下来我们使用折线图来展示从 10份 所有文章访问量数据展示
所有的案例用到的数据如下:
import random
x_data = ["10月{}日".format(i+1) for i in range(30)]
y_view = [random.randint(50,200) for i in range(30)]
展示10月份数据折线图:
import matplotlib.pyplot as plt
import random
plt.rcParams["font.sans-serif"]=['SimHei']
plt.rcParams["axes.unicode_minus"]=False
x_data = ["10月{}日".format(i+1) for i in range(30)]
y_view = [random.randint(50,200) for i in range(30)]
plt.figure(figsize=(20,5),dpi=90)
plt.plot(x_data,y_view)
plt.xticks(rotation=45)
plt.title("访问量分析")
plt.xlabel("日期")
plt.ylabel("访问量")
plt.show()
2. 折线2D属性
2.1linestyle:折线样式
属性值 | 说明 |
---|---|
"-" 、"solid" | 默认实线显示 |
"--"、"dashed" | 虚线 |
"-." "dashdot" | 点划线 |
":"、"dotted" | 虚线 |
"None" """" | 空 |
2.2color:折线颜色
颜色简称:
属性值 | 说明 | 属性值 | 说明 |
---|---|---|---|
"b"/"bule" | 蓝色 | "m"/"magenta" | 品红 |
"g" /"green" | 绿色 | "y"/"yellow" | 黄色 |
"r"/"red" | 红色 | "k"/"black" | 黑色 |
"c"/"cyan" | 青色 | "w"/"white" | 白色 |
rgb
格式形式:(r,g,b) 或者(r,g,b,a)
取值范围:r,g,b,a 取值范围在[0,1]之间
[0,1]之间的浮点数的字符串形式,0表示黑色,1表示白色
2.3marker:坐标值标记
marker 标记物通常在折线图plot、散点图scatter和误差图errorbar上应用
marker 提供多达40个标记的样式可供选择,具体详情看见marker官方说明
marker 在图表中常用的有如下:
属性值 | 说明 | 属性值 | 说明 |
---|---|---|---|
"o" | ⏺️圆圈标记 | "8" | 八边形 |
"v" | 🔽倒三角标记 | "s" | ⏹️正方形标记 |
"^" | 🔼正三角标记 | "*" | ⭐星号 |
"<" | ◀️左三角标记 | "+" | ➕加号 |
">" | ▶️右三角标记 | "x" | X星星 |
"1" | 向下Y标记 | "D" | 🔷钻石标记 |
"2" | 向上Y标记 | " | " |
"3" | 向左Y标记 | "_" | _水平线标记 |
"4" | 向右Y标记 | "p" | ⭐五角星标记 |
标记还提供其他方法
markeredgecolor:标记边界颜色
markeredgewidth:标记宽度
markfacecorlor:标记填充色
markersize:标记大小
2.4fillstyle:标记填充方法
属性值 | 说明 |
---|---|
"full" | 整个标记 |
"left" | 左边标记一半 |
"right" | 右边标记一半 |
"bottom" | 底部标记一半 |
"top" | 顶部标记一半 |
"none" | 无填充 |
2.5linewidth(lw): 直线宽度
对第一节案例添加直线属性:虚线表示,坐标用绿色左半填充圈标记
#
直线属性
plt.plot(x_data,y_view,linestyle="--"
,marker="o",markeredgecolor="g",fillstyle="left")
更多属性:
在matplotlib官网对直线2D属性有更多的介绍
3. 坐标管理
3.1坐标轴名字设置
设置X轴名称:pyplot.xlabel(str)
设置y轴名称:pyplot.ylabel(str)
3.2坐标轴刻度设置
x轴坐标刻度设置:pyplot.xticks(ticks=[],rotation)
y轴坐标刻度设置:pyplot.yticks(ticks=[],rotation)
参数说明:
ticks:列表类型,表示x轴范围
rotation:翻转角度
3.3坐标轴位置设置
坐标轴位置设置需要通过pyplot.gca()先获取当前的Axes
然后调用ax.spines[].set_position()设置位置
ax.spines['bottom'].set_position(('axes',0.5)) 表示将x轴设置在y轴50%处
3.4指定坐标值标注
pyplot.annotate()
展示指定坐标点的(x,y)值
常用接口参数说明:
参数 | 说明 |
---|---|
txt | 展示的文本 |
xy | 注释的(x,y) |
xytext | xy展示的文本 |
color | 展示的文本颜色 |
继续改造第一节案例:标记出最大访问,y轴移到x轴中心
max_id = np.argmax(y_view)
show_max = '['+str(x_data[max_id])+','+str(y_view[max_id])+']'
plt.figure(figsize=(20,5),dpi=90)
ax= plt.gca()
ax.spines["left"].set_position(('axes',0.5))
plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left")
plt.xticks(ticks=np.arange(0,30),rotation=60)
plt.annotate(show_max, xy=(x_data[max_id],y_view[max_id] ), xytext=(x_data[max_id],y_view[max_id]), color='r')
4. 多条折线展示图
在一个图表中,我们可以多次调用plot()绘制多条折线展示在同一个表格中
```python
star_view = [random.randint(100,200) for i in range(30)]
plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left")
plt.plot(x_data,star_view,linestyle="-",marker="s",markeredgecolor="r",fillstyle="right")
```
5. 图列管理
当一个图表中存在多个折线图时,我们需要使用图例管理来对每个折线代表对象
pyplot.legend(loc): 对图表中折线进行说明
loc参数属性值:
属性 | 代码 | 属性 | 代码 |
---|---|---|---|
'best' | 0 | 'right' | 5 |
'upper right' | 1 | 'center left' | 6 |
'upper left' | 2 | 'center right' | 7 |
'lower left' | 3 | 'lower center' | 8 |
'lower right' | 4 | 'upper center' | 9 |
'center' | 10 |
label属性,注释每条折线的对象
plt.plot(x_data,y_view,linestyle="--",marker="o",markeredgecolor="g",fillstyle="left",label="all")plt.plot(x_data,star_view,linestyle="-",marker="s",markeredgecolor="r",fillstyle="right",label="star")plt.legend()
总结:
本文 我们对matplotlib 模块 折线图plot()相关方法和属性进行,大家在平时工作中可以多多实践,折线图还是用的比较多的
来源:https://juejin.cn/post/7029673611937972260
猜你喜欢
- 这个可应用于所有浏览器中.<SCRIPT language=javascript>var leave=true; functio
- 以下各种方式仅供参考,本人亲测只有官方提供的方式比较靠谱。1. 使用多个进程启动多个Tornado实例import tornado.http
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 19 - TooltipsMootools 1.2
- asp之家注:防止表单重复提交的方法,在客户端其实很容易实现,只要使用js让用户第一次点击提交按钮后,把提交按钮设置为disabled,这样
- 目录前言1. 使用Lambda来修改Pandas数据框中的值2. 使用f-string来连接字符串3. 用Zip()函数对多个列表进行迭代4
- 天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花
- 如果你正从你的用户那里收集信息, 没有比网页表单更简单和直接的办法了。一份有良好设计的表单可以提供有价值的信息, 相反, 他们有可能把用户吓
- RabbitMQ 6种工作模式对RabbitMQ 6种工作模式(简单模式、工作模式、订阅模式、路由模式、主题模式、RPC模式)进行场景和参数
- Lightbox里面的一个函数,能把页面实际的高宽与浏览器可视面积的高宽保存在一个数组中..非常好用.什么是Lightbox?下载light
- JavaScript中indexOf函数方法是返回 String 对象内第一次出现子字符串的字符位置。使用方法:strObj.indexOf
- 我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。以下巧
- 1、余弦相似度余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:余弦相似度的取值为[-1,1],
- 一、不要使用可变对象作为函数默认值In [1]: def append_to_list(value, def_list=[]):
- 高动态范围成像一、引言如今,大多数数字图像和成像设备每通道使用 8 位整数表示灰度,因此将设备的动态范围限制在两个数量级(实际上是 256
- 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件
- 一、软件准备:以下均为截止2005-4-20的最新正式版本PHP(5.1.2):http://www.php.netMySQL(5.0.19
- forma格式化的用法format函数可以接受不限个参数,位置可以不按顺序。基本语法是通过{ }和:来代替c语言的%。>>>
- 本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下checkerboard.pyfrom collectio
- 导言Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。除此之外,内容也是足够灵活的,可以是图像、内嵌
- 我们知道在PHP4里面,当我们使用一个类的时候,必须将该类所以文件使用include或require加进来,这样我们就可以使用类了。而对于P