matpotlib之折线图

在这里插入图片描述


折线图:

折线图(line chart)是我们在数据分析、数据展示中经常使用的一种图表,它可以直观的反映数据的变化趋势。与绘制柱状图、饼状图等图形不同,Matplotlib 并没有直接提供绘制折线图的函数。线图适用于分析数据随时间变化的趋势。例如,分析商品销量随时间的变化,预测未来的销售情况。
通过matplotlib.pyplot.plot函数来绘制折线图,plot函数不仅可以绘制折线,还可以绘制其他类型的图表。

plot函数

  1. 函数定义:
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
  1. 常用参数:
  • args:
    多个X、Y对可选的数据集
  • scalex:
  • scaley:
    这两个参数确定视图限制是否与数据限制相适应,最终这些值传递给 autoscale_view,以便岁绘制的图表进行自动的缩放。
  • data:
    可索引对象,可选。带有标签数据的对象。如果给定,请提供要打印的标签名称 x 和 y
  • kwargs:
    关键字参数 用于指定线条标签(用于自动图例)、线条宽度、抗锯齿、标记面颜色等属性

plot的详细定义:
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html

示例说明:

通过小龙虾和生蚝的全年价格的波动进行一个说明:

import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
price = [10,13,50,40,70,60,14,12,25,25,20,10] 

"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,price,label='小龙虾价格')

# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果:
在这里插入图片描述

扩展应用

1、 线条风格

线条颜色

  1. 颜色名称或简写
  • ‘b’ blue(蓝色)
  • ‘g’ green(绿色)
  • ‘r’ red(红色)
  • ‘c’ cyan(青色)
  • ‘m’ magenta(品红)
  • ‘y’ yellow(黄色)
  • ‘k’ black(黑色)
  • ‘w’ white(白色)
  1. rgb (r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间

  2. [0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色

关于颜色后面会写一篇文章专门介绍一下matplotlib中颜色的各种使用。

plot 方法的关键字参数 color(或c) 用来设置线的颜色

import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
price = [10,13,50,40,70,60,14,12,25,25,20,10] 

"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,price,label='小龙虾价格',c='Red')

# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果如下:
在这里插入图片描述

线条样式

plot 方法的关键字参数 linestyle(或ls) 用来设置线的样式。可取值为:

  • ‘-’, ‘solid’
  • ‘–’, ‘dashed’
  • ‘-.’, ‘dashdot’
  • ‘:’, ‘dotted’
  • ‘’, ’ ', ‘None’
import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
price = [10,13,50,40,70,60,14,12,25,25,20,10] 

"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,price,label='小龙虾价格',ls="--",c='Red')

# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果如下:
在这里插入图片描述

线条粗细

设置 plot 方法的关键字参数 linewidth(或lw) 可以改变线的粗细,其值为浮点数。

import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
price = [10,13,50,40,70,60,14,12,25,25,20,10] 

"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,price,label='小龙虾价格',lw=5.0,ls="--",c='Red')

# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果如下:
在这里插入图片描述

2、数据点标记marker

以下关键字参数可以用来设置marker的样式:

  • marker 标记类型
  • markeredgecolor 或 mec 标记边界颜色
  • markeredgewidth 或 mew 标记宽度
  • markerfacecolor 或 mfc 标记填充色
  • markersize 或 ms 标记大小

其中marker的取值如下:

  • ‘-’ 实线
  • ‘–’ 虚线
  • ‘-.’ 点与线
  • ‘:’ 点
  • ‘.’ 点标记
  • ‘,’ 像素标记
  • ‘o’ 圆圈标记
  • ‘v’ 倒三角标记
  • ‘^’ 正三角标记
  • ‘<’ 左三角标记
  • ‘>’ 右三角标记
  • ‘1’ 向下Y标记
  • ‘2’ 向上Y标记
  • ‘3’ 向左Y标记
  • ‘4’ 向右Y标记
  • ‘s’ 正方形标记
  • ‘p’ 五角星标记
  • ‘*’ *标记
  • ‘h’ 六边形1 标记
  • ‘H’ 六边形2 标记
  • ‘+’ +标记
  • ‘x’ x标记
  • ‘D’ 钻石标记
  • ‘d’ 薄砖石标记
  • ‘|’ 垂直线标记
  • ‘_’ 水平线标记
import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
price = [10,13,50,40,70,60,14,12,25,25,20,10] 

"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,price,label='小龙虾价格',marker='.',mfc='orange',ms=20,mec='c',lw=1.0,ls="--",c='Red')

# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果如下:
在这里插入图片描述

2、多组数据

完成了如何绘制单条折线的绘制,绘制多条折线也是很容易,只要准备好绘制多条折线图的数据即可

宵夜组合中加入生蚝

import matplotlib.pyplot as plt
import matplotlib

mouth = [1,2,3,4,5,6,7,8,9,10,11,12]
crawfishPrice = [10,13,50,40,70,60,14,12,25,25,20,10] 
oystersPrice = [10,20,30,35,28,23,14,18,20,24,30,40] 
"""
font:设置中文
"""
matplotlib.rcParams['font.family'] = ['Heiti TC']

# 绘图,设置(label)图例名字为'小龙虾价格',显示图例plt.legend()
plt.plot(mouth,crawfishPrice,label='小龙虾价格',marker='x',mfc='orange',ms=5,mec='c',lw=1.0,ls="--",c='Red')
plt.plot(mouth,oystersPrice,label='生蚝价格',marker='o',mfc='orange',ms=5,mec='c',lw=1.0,ls="-",c='green')
# x轴标签
plt.xlabel('月份')
# y轴标签
plt.ylabel('价格')

# 图表标题
plt.title('小龙虾和生蚝全年价格')

# 显示图例
plt.legend()
# 显示图形
plt.show() 

运行结果如下:
在这里插入图片描述


总结:

折线图一般在数据分析中使用的场景

  • 可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
  • 在折线图中,可以得出数据随时间变化的结论,例如数据随时间递增、数据随时间递减、数据是否呈现周期性变化、数据称指数性增长等,也可以进行多条折线图的对比。
  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值