Python数据可视化之折线图

news2024/11/14 20:49:21

Python数据可视化之折线图

提示:前言
Python数据可视化之折线图


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Python数据可视化之折线图
  • 前言
  • 一、导入包
  • 二、选择数据集
  • 三、折线图
  • 四、图形的大小和图表的标题
  • 五、绘制数据的一个子集
  • 六、改变样式


前言

在本教程中,您将学习足够的 Python 来创建具有专业外观的折线图。 然后,在下面的练习中,您将运用新技能处理真实世界的数据集


提示:以下是本篇文章正文内容,下面案例可供参考

一、导入包

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

二、选择数据集

本教程的数据集跟踪音乐流媒体服务 Spotify 上的全球每日流媒体。 我们专注于 2017 年和 2018 年的五首流行歌曲:

请注意,第一个出现的日期是 2017 年 1 月 6 日,对应于 Ed Sheeran 的“The Shape of You”的发行日期。 而且,使用该表,您可以看到“你的形状”在发布当天在全球播放了 12,287,078 次。 请注意,其他歌曲在第一行中有缺失值,因为它们是后来才发布的!
在这里插入图片描述

# Path of the file to read
spotify_filepath = "../input/spotify.csv"

# Read the file into a variable spotify_data
spotify_data = pd.read_csv(spotify_filepath, index_col="Date", parse_dates=True)

在这里插入图片描述
我们可以使用您在上一教程中学到的 head 命令打印数据集的前五行

# Print the first 5 rows of the data
spotify_data.head()

在这里插入图片描述
现在检查前五行是否与上面的数据集图像一致(从我们看到它在 Excel 中的样子开始)。空条目将显示为 NaN,它是“Not a Number”的缩写

我们还可以通过仅进行一个小更改(其中 .head() 变为 .tail())来查看数据的最后五行:

# Print the last five rows of the data
spotify_data.tail()

在这里插入图片描述
值得庆幸的是,一切看起来都不错,每首歌曲每天都有数百万的全球流媒体播放,我们可以继续绘制数据了!

三、折线图

现在数据集已经加载到笔记本中,我们只需要一行代码来制作折线图

# Line chart showing daily global streams of each song 
sns.lineplot(data=spotify_data)

在这里插入图片描述

正如您在上面看到的,这行代码相对较短,主要有两个组成部分:

sns.lineplot 告诉笔记本我们要创建折线图。
您在本课程中学习的每个命令都将以 sns 开头,这表明该命令来自 seaborn 包。 例如,我们使用 sns.lineplot 来制作折线图。 很快,您就会了解到我们分别使用 sns.barplot 和 sns.heatmap 来制作条形图和热图。
data=spotify_data 选择将用于创建图表的数据。

请注意,在创建折线图时,您将始终使用相同的格式,并且随着新数据集的变化,唯一改变的是数据集的名称。 因此,例如,如果您正在使用名为 financial_data 的不同数据集,则代码行将如下所示:

sns.lineplot(data=financial_data)

四、图形的大小和图表的标题

有时我们想要修改其他细节,例如图形的大小和图表的标题。 这些选项中的每一个都可以使用一行代码轻松设置。

# Set the width and height of the figure
plt.figure(figsize=(14,6))

# Add title
plt.title("Daily Global Streams of Popular Songs in 2017-2018")

# Line chart showing daily global streams of each song 
sns.lineplot(data=spotify_data)

在这里插入图片描述
第一行代码将图形的大小设置为 14 英寸(宽)乘 6 英寸(高)。 要设置任何图形的大小,您只需复制它出现的同一行代码。 然后,如果您想使用自定义尺寸,请将提供的值 14 和 6 更改为所需的宽度和高度。

第二行代码设置图形的标题。 请注意,标题必须始终用引号 (“…”) 括起来!

五、绘制数据的一个子集

到目前为止,您已经学习了如何为数据集中的每一列绘制一条线。 在本节中,您将学习如何绘制列的子集。

我们将从打印所有列的名称开始。 这是用一行代码完成的,只需换掉数据集的名称(在本例中为 spotify_data)即可适用于任何数据集。

list(spotify_data.columns)

在这里插入图片描述

在下一个代码单元格中,我们绘制了与数据集中前两列对应的线条。

# Set the width and height of the figure
plt.figure(figsize=(14,6))

# Add title
plt.title("Daily Global Streams of Popular Songs in 2017-2018")

# Line chart showing daily global streams of 'Shape of You'
sns.lineplot(data=spotify_data['Shape of You'], label="Shape of You")

# Line chart showing daily global streams of 'Despacito'
sns.lineplot(data=spotify_data['Despacito'], label="Despacito")

# Add label for horizontal axis
plt.xlabel("Date")

在这里插入图片描述
前两行代码设置了图形的标题和大小(看起来应该很眼熟!)。

接下来的两行分别在折线图中添加一条线。 例如,考虑第一个,它添加了“你的形状”这一行:

# Line chart showing daily global streams of 'Shape of You'
sns.lineplot(data=spotify_data['Shape of You'], label="Shape of You")

这条线看起来与我们在绘制数据集中的每一行时使用的代码非常相似,但它有几个关键的区别:

我们不设置 data=spotify_data,而是设置 data=spotify_data[‘Shape of You’]。 通常,为了仅绘制单个列,我们使用这种格式,将列名放在单引号中并将其括在方括号中。 (为确保您正确指定列名,您可以使用上面学到的命令打印所有列名的列表。)
我们还添加 label=“Shape of You” 使线条出现在图例中并设置其对应的标签。
最后一行代码修改水平轴(或 x 轴)的标签,其中所需标签放在引号 (“…”) 中。

六、改变样式

只需一行代码,我们就可以快速将图形的样式更改为不同的主题。

# Change the style of the figure to the "dark" theme
sns.set_style("dark")

# Line chart 
plt.figure(figsize=(12,6))
sns.lineplot(data=spotify_data)

在这里插入图片描述

Seaborn 有五个不同的主题:
(1)“darkgrid”,
(2)“whitegrid”,
(3)“dark”,
(4)“white”,
(5)“ticks”,
你只需要使用类似的命令 到上面代码单元格中的那个(填充了所选主题)以更改它。

参考链接
https://www.kaggle.com/code/alexisbcook/line-charts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么游戏视频录制软件比较好?10 款的游戏录屏软件你值得收藏

市面上有各种各样的游戏捕捉软件,当然,它们都声称是有史以来最好的游戏软件。但有些比其他的更好,最适合您的游戏记录器在很大程度上取决于您要玩的游戏以及您运行的 PC 类型。 目前最好的游戏屏幕录像机 让我们来探索自称是最佳游戏屏幕录…

NetLogo 语法总结

NetLogo 语法总结NetLogo语法的怪异。。。。。。NetLogo语法关键在于你要把它当成一个软件使用,而不是一个通用的编程语言。首先,上网搜搜setup go是怎么用的,或者买本书,本文不再赘述NetLogo世界turtlespatcheslinksobserver(上帝…

np.savetxt()存储数据

前言 使用np.savetxt()方法可以将数据保存为txt文件或者是csv文件。 1 np.savetxt()存储txt文件 1-1 基础参数 numpy.savetxt(fname,arrry,fmt%.18e,delimiter ,newline\n,header,footer,comments# ,encodingNone,) 1-2 参数详解 fname:要存入的文件、文件名、或生成器。 ar…

令人窒息的百度面试题(正值换工作季,还不收藏???)

最近去网上找了一些百度的面经,冥冥之中在众多的面试题中打开了下边两个面试题: 2021百度前端社招面经 百度前端面试题分享,带答案 看完之后我直呼“哇哦~”,全部在我的射程范围之内。我该不会如此幸运到问的全会吧。 是的&am…

横扫150道MySQL大厂面试题【视频+文档】

MySQL是程序员面试的必考题,因其体系庞大,架构设计复杂,是面试的重点与难点。教程基于大厂面试的充分调研,深度挖掘用人企业的标准与要求,针对MySQL知识体系和高频面试题,把内容分为五大部分:My…

如何保障MES系统实施?实现“大物流、小生产”

MES系统的成功应用不只是单单将软件系统开发出来,然后直接安装应用就可以进行运行做工。MES系统的运行需要从多个方面出发,确保软件系统的成功实施部署,然后在生产当中发挥自己的作用。实际情况开发为了确保MES系统的正常运行,必须…

一年测试经验,终于找到大厂的工作了

前两天有个小伙伴在后台留言,最近的面试越来越难了,尤其是技术面,考察得越来越细,庆幸的是最终顺利找到了某大厂工作。 一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识 比如果这样的问题: 所…

Springboot+vue+vue在线日程管理系统 java

(1)应用主类SpringbootApplication应该放于根目录下springboot下,通常我们会在主类中做一些框架配置 扫描等配置,SpringbootApplication放在根目录下可以可以帮助程序减少手工配置来加载到我们希望被Spring加载的内容。   &…

调试日志:RK3568 配置GC2053摄像头驱动

在设备树文件代码中添加 gc2053 设备节点 &i2c2 {status "okay";pinctrl-0 <&i2c2m1_xfer>;/* split mode: lane0/1 */gc2053: gc205337 {status "okay";compatible "galaxycore,gc2053";// 需要与驱动中的匹配字符串一致reg …

2-3-1-2、MySQL中的目录和文件

目录bin 目录服务器程序mysqldmysqld_safemysql.servermysqld_multi客户端程序mysqladminmysqldumpmysqlbackup启动选项和参数配置参数文件参数的查看和修改数据目录MySQL 中的数据目录表在文件系统中的表示lnnoDB 是如何存储表数据的系统表空间(system tablespace)独立表空间(…

macOS 配置flutter 环境

flutter 中文网 https://book.flutterchina.club 官方 :https://docs.flutter.dev/get-started/install/macos (本文基于此) 1. 本文在 MacOS 环境下配置 2. 要安装和运行Flutter&#xff0c;您的开发环境必须满足以下最低要求: 操作系统:macOS 磁盘空间:2.8 GB(不包括IDE/to…

哪款无线耳机音质好又便宜?性价比高音质好的蓝牙耳机推荐

无线蓝牙耳机发展至今&#xff0c;在各种性能的表现上越来越稳定、先进。人们在选择蓝牙耳机时可以根据自身需求来选择最适合的那款&#xff0c;而性价比和音质也成为了大多数人选择的关键要素之一。那么&#xff0c;哪款无线耳机音质好又便宜&#xff1f;下面&#xff0c;我来…

26.注解、动态代理

目录 一.注解 1.1 注解概述 1.2 注解的作用 1.3 自定义注解 1.3.1 什么是自定义注解 1.3.2 自定义注解格式 1.3.3 注意事项 1.3.4 代码示例 1.4 元注解 1.4.1 什么是元注解 1.4.2 种类 1.5 注解解析 1.5.1 什么是注解解析 1.5.2 相关接口 1.5.3 注意事项&#x…

Java配置45-idea 与 maven 版本兼容问题

昨天帮助同事安装开发环境&#xff0c;下载项目之后 idea 报错Unable to import maven project: See logs for details这是 idea 与 maven 版本不兼容引起的。同事安装的 idea 为 2019 版本&#xff0c;maven 为 3.8.5 版本。查看 maven官网&#xff1a;https://maven.apache.o…

Java对象分配过程以及面试题

public static void main(String[] args) {Math math new Math();math.compute(); } 对于Math类来说&#xff0c;他还有一个类对象, 如下代码所示&#xff1a; Class<? extends Math> mathClass math.getClass(); 这个类对象是存储在哪里的呢&#xff1f;这个类对象…

将nodejs文件打包成exe, 并设置开机自启动(没有黑窗口)

nodejs打包成exe 使用node的pkg包 # 安装pkg npm install -g pkg # 使用pkg打包, 该命令会同时编译 linux, win, mac 版的exe pkg server.js # 只打包win版 pkg -t win server.js如果安装pkg后提示 pkg不是内部命令, 重新打开cmd窗口再试,如果还提示,则需要配置环境变量 查看…

力扣刷题记录——796. 旋转字符串、884. 两句话中的不常见单词、1046. 最后一块石头的重量

本专栏主要记录力扣的刷题记录&#xff0c;备战蓝桥杯&#xff0c;供复盘和优化算法使用&#xff0c;也希望给大家带来帮助&#xff0c;博主是算法小白&#xff0c;希望各位大佬不要见笑&#xff0c;今天要分享的是——《力扣刷题记录——796. 旋转字符串、884. 两句话中的不常…

五金行业:强行业性的进销存系统具体看三项

很多五金的中小企业&#xff0c;都是从小作坊、个体户做大&#xff0c;普遍有着规模小&#xff0c;管理方式传统&#xff0c;行业内部管理水平偏低等缺陷。从年初忙到年尾&#xff0c;经营者也不清楚是赚是亏&#xff0c;竞争力不强&#xff0c;很多五金企业只要用上管理软件&a…

【HBase高级】1.重要工作机制(1)——读数据流程、数据存储流程

1. 重要工作机制 1.1 读数据流程 1.从zookeeper找到meta表的region的位置&#xff0c;然后读取meta表中的数据。而meta中又存储了用户表的region信息 ZK&#xff1a;/hbase/meta-region-server&#xff0c;该节点保存了meta表的region server数据 2.根据namespace、表名和row…

Elasticsearch:理解 query_string 和 simple_query_string 查询

针对很多的开发者来说&#xff0c;如果你不是很熟悉 DSL 查询&#xff0c;那么在有些情况下&#xff0c;query_string 及 simple_query_string 变得非常灵活及方便。在今天的文章中&#xff0c;我来比较一下这两种查询的方法。 准备数据 我们先使用 _bulk 命令创建如下的一个索…