百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

【Python可视化系列】一文彻底教会你绘制美观的折线图(源码)

cac55 2024-09-19 16:49 36 浏览 0 评论

一、前言

折线图是一种常用的可视化图表,可以清晰地展示数据随时间或其他连续变量的变化趋势,通过连接数据点,可以观察到数据的上升、下降、波动等变化趋势,帮助人们更直观地理解数据的变化规律。

二、基本折线图

2.1简单折线图

import matplotlib.pyplot as plt


# 准备数据
x = [1, 2, 3, 4, 5]  # x轴数据
y = [2, 6, 1, 3, 10]  # y轴数据


# 设置字体
plt.rcParams['font.family']='Times New Roman, SimSun'
# 绘制折线图
plt.plot(x, y)


# 添加标题和坐标轴标签
plt.title('折线图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')


# 显示图形
plt.show()

结果如下图所示:

2.2设置线条和点

plt.plot(x, y,color='red',linestyle='--',marker='*')
x:横坐标数据
y:纵坐标数据
color:折线的颜色
    character   color
    ==========  ========
    'b'         blue
    'g'         green
    'r'         red
    'c'         cyan
    'm'         magenta
    'y'         yellow
    'k'         black
    'w'         white
linestyle:折线的类型,默认为实线
    ``'-'``             实线样式
    ``'--'``            虚线样式
    ``'-.'``            点划线样式
    ``':'``             点虚线样式 
marker:数据点的标记样式,默认为空
  三角形    '^'
  五角星    '*'
  圆圈     'o'
  加号     '+'
缩写形式:plt.plot(x, y,'*:r')
注:引号内的不区分顺序,但是颜色需要用缩写




其他的一些参数:
参数 linewidth 用以控制线条宽度(默认值为0.5)
参数 alpha=0.5 用以控制线条透明度
参数 markersize 用以控制标记大小
参数 markeredgecolor 用以控制标记的轮廓颜色
参数 markerfacecolor 用以控制标记的填充颜色

修改plt.plot这行代码,得到如下结果:

三、进阶

3.1添加图例、添加数字标签

import matplotlib.pyplot as plt


# 月份
x1 = ['2017-01', '2017-02', '2017-03', '2017-04', '2017-05', '2017-06', '2017-07', '2017-08',
      '2017-09', '2017-10', '2017-11', '2017-12']
# 体重
y1 = [86, 85, 84, 80, 75, 70, 70, 74, 78, 70, 74, 80]


# 设置画布大小
plt.figure(figsize=(10, 7))
# 设置字体
font1 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 14}
plt.rc('font', **font1)
# 绘图
plt.plot(x1, y1, label='weight changes', linewidth=3, color='r', marker='o',
         markerfacecolor='blue', markersize=14)
# 标题
plt.title("my weight", fontproperties=font1)
# 横坐标描述
plt.xlabel('month', fontproperties=font1)
# 纵坐标描述
plt.ylabel('weight', fontproperties=font1)
# 设置数字标签
for a, b in zip(x1, y1):
    plt.text(a, b+0.5, b, ha='center', va='bottom', fontproperties=font1)
# 设置图例
plt.legend()
plt.show()

这段代码添加了画布大小设置、字体设置、数字标签设置以及图例设置,结果如下:

3.2一图绘制多条折线

import matplotlib.pyplot as plt
import seaborn as sns


x = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
highest = [12, 15, 18, 14, 16, 14, 10]
lowest = [6, 4, 8, 12, 10, 9, 7]


plt.plot(x, highest, "rs--", label="最高气温")
plt.plot(x, lowest, "rd--", label="最低气温")
for a, b in zip(x, highest):
    plt.text(a, b+1, b, ha='center', va='bottom')
    # 数据显示的横坐标、显示的位置高度、显示的数据值的大小
for a, b in zip(x, lowest):
    plt.text(a, b-2, b, ha='center', va='bottom')


# 绘图风格设置,使用seaborn库的API来设置样式
sns.set_style('darkgrid')
# # 设置字体
font1 = {'family': 'SimSun', 'weight': 'normal', 'size': 14}
plt.rc('font', **font1)
plt.rcParams["axes.unicode_minus"] = False


# x轴刻度标签设置
plt.xticks(x, fontproperties=font1)
# y轴标签数值范围设置
plt.ylim(0, 25)
# 标题设置
plt.title("一周气温变化趋势", fontproperties=font1)
plt.xlabel("星期", fontproperties=font1)
plt.ylabel("气温", fontproperties=font1)
# 图例设置
plt.legend()
plt.show()

这段代码对绘图的风格、x轴刻度标签的字体、y轴刻度标签的范围进行了设置,结果如下:

本人读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,对Python有一定认知和理解,会结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能基础知识与应用案例。

致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

1、关注“数据杂坛”公众号,即可在后台联系我获取相关数据集和源码。

2、关注“数据杂坛”公众号,点击“领资料”即可免费领取资料书籍。

3、需要论文指导或商务合作,点击“联系我”添加作者微信直接交流。

原文链接

【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)

相关推荐

Mac电脑强制删除任何软件方法-含自启动应用

对于打工者来说,进入企业上班使用的电脑大概率是会被监控起来,比如各种流行的数据防泄漏DLP,奇安信天擎,甚至360安全卫士,这些安全软件你想卸载是非常困难的,甚至卸载后它自己又安装回来了,并且还在你不...

Linux基础知识 | 文件与目录大全讲解

1.linux文件权限与目录配置1.文件属性Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各read/write/execute等权限文...

文件保护不妥协:2025 年 10 款顶级加密工具推荐

数据安全无小事,2025年这10款加密工具凭借独特功能脱颖而出,从个人到企业场景全覆盖,第一款为Ping32,其余为国外英文软件。1.Ping32企业级加密核心工具,支持200+文件格...

省心省力 一个软件搞定系统维护_省心安装在哪里能找到

◆系统类似于我们居住的房间,需要经常打理才能保持清洁、高效。虽然它本身也自带一些清理和优化的工具,但借助于好用的第三方工具来执行这方面的任务,会更让人省心省力。下面笔者就为大家介绍一款集多项功能于一身...

JAVA程序员常用的几个工具类_java程序员一般用什么软件写程序

好的工具做起事来常常事半功倍,下面介绍几个开发中常用到的工具类,收藏一下,也许后面真的会用到。字符串处理:org.apache.commons.lang.StringUtilsisBlank(Char...

手工解决Windows10的若干难题_windows10系统卡顿怎么解决

【电脑报在线】很多朋友已经开始使用Win10,估计还只是测试版本的原因,使用过程中难免会出现一些问题,这里介绍解决一些解决难题的技巧。技巧1:让ProjectSpartan“重归正途”从10074...

System32文件夹千万不能删除,看完这篇你就知道为什么了

C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发...

Windows.old 文件夹:系统备份的解析与安全删除指南

Windows.old是Windows系统升级(如Win10升Win11)或重装时,系统自动在C盘创建的备份文件夹,其核心作用是保留旧系统的文件、程序与配置,为“回退旧系统”提供保...

遇到疑难杂症?Windows 10回收站问题巧解决

回收站是Windows10的一个重要组件。然而,我们在使用过程中,可能会遇到一些问题。例如,不论回收站里有没有文件,都显示同一个图标,让人无法判别回收站的空和满的真实情况;没有了像Windows7...

卸载软件怎么彻底删掉?简单几个步骤彻底卸载,电脑小白看过来

日常工作学习生活中,我们需要在安装一些软件程序,但随着软件的更新迭代速度,很多时候我们需要重新下载安装新的程序,这时就需要将旧的一些软件程序进行卸载。但是卸载软件虽然很简单,但是很多小伙伴们表示卸载不...

用不上就删!如何完全卸载OneDrive?

作为Windows10自带的云盘,OneDrive为资料的自动备份和同步提供了方便。然而,从隐私或其他方面考虑,有些人不愿意使用OneDrive。但Windows10本身不提供直接卸载OneDri...

【Linux知识】Linux下快速删除大量文件/文件夹方法

在Linux下,如果需要快速删除大量文件或文件夹,可以使用如下方法:使用rm命令删除文件:可以使用rm命令删除文件,例如:rm-rf/path/to/directory/*这个命令会递...

清理系统不用第三方工具_清理系统垃圾用什么软件

清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...

系统小技巧:软件卸载不了?这里办法多

在正常情况下,我们都是通过软件程序组中的卸载图标,或利用控制面板中的“程序和功能”模块来卸载软件的。但有时,我们也会发现利用卸载图标无法卸载软件或者卸载图标干脆丢失找不到了,甚至控制面板中卸载软件的功...

麒麟系统无法删除文件夹_麒麟系统删除文件权限不够

删除文件夹方法例:sudorm-rf文件夹名称。删除文件方法例:sudorm-r文件名包括扩展名。如果没有权限,给文件夹加一下权限再删。加最高权限chmod775文件名加可执行权限...

取消回复欢迎 发表评论: