Python 绘图入门

news2024/11/15 19:47:06
  1. 数据可视化的概念及意义

数据可视化有着久远的历史,最早可以追溯至10世纪,至今已经应用和发展了数百年。不知名的天文学家是已知的最早尝试以图形方式显示全年当中太阳,月亮和行星的位置变化的图。

图1 数据可视化的发展历程

什么是数据可视化?

可视化其实是一个抽象的过程,它可以简单地理解为将一个不易描述的事物形成一个可感知画面的过程,也就是从数据空间到图形空间的映射

图2 数据可视化过程

无论原始数据被映射为哪种图形数据,最终要达到的目的只有一个,便是准确地、高效地、全面地传递信息,进而建立起数据间的关系,使人们发现数据间的规律和特征,并挖掘出有价值的信息,提高数据沟通的效率

2.常见的数据可视化库

Python作为数据分析的首选语言,它针对数据分析的每个环节都提供了很多库。常见的数据可视化库包括matplotlib、seaborn、ggplot、bokeh、pygal、pyecharts。

  

  

图3

(1)Matplotlib

matplotlib是众多Python数据可视化库的鼻祖,其设计风格与20 世纪 80 年代设计的商业化程序语言MATLAB十分接近,具有很多强大且复杂的可视化功能。matplotlib包含多种类型的API,可以采用多种方式绘制图表并对图表进行定制。

(2)seaborn

seaborn是基于matplotlib进行高级封装的可视化库,它支持交互式界面,使得绘制图表的功能变得愈加容易,且图表的色彩更具吸引力,可以画出丰富多样的统计图表。

(3)ggplot

ggplot是基于matplotlib并旨在以简单方式提高matplotlib可视化感染力的库,它采用叠加图层的形式绘制图形,例如先绘制坐标轴所在的图层,再绘制点所在的图层,最后绘制线所在的图层,但其并不适用于个性化定制图形。

(4)bokeh

bokeh是一个交互式的可视化库,它支持使用Web 浏览器展示,可使用快速简单的方式将大型数据集转换成高性能的、可交互的、结构简单的图表。

(5)pygal

pygal是一个可缩放矢量图表库,用于生成可在浏览器中打开的SVG格式的图表,这种图表可以在不同比例的屏幕上自动缩放,方便用户交互。

(6)pyecharts

pyecharts是一个生成Echarts Enterprise Charts,商业产品图表)图表的库,它生成的Echarts图表凭借良好的交互性、精巧的设计得到了众多开发者的认可。

3.安装和设置

(1)如何安装这些库

这些库的安装可使用pip命令进行。例如:

pip install matplotlib

pip install 后面可以跟着具体想要安装的包名。

(2) 基本使用示例

matplotlib官网提供了三种API:pyplot API、object-oriented API、pylab API 。

  • pyplot API是使用pyplot模块开发的接口,该接口封装了一系列与MATLAB命令同名的函数,使用这些函数可以像使用MATLAB命令一样快速地绘制图表。
  • object-oriented API是面向对象的接口,该接口封装了一系列对应图表元素的类,只有创建这些类的对象并按照隶属关系组合到一起才能完成一次完整的绘图。
  • pylab API是使用pylab模块开发的接口,它最初是为了模仿MATLAB的工作方式而设计的,包括pyplot、numpy模块及一些其它附加功能,适用于Python交互环境中。

需要注意的是,matplotlib官方不建议使用pylab API进行开发,并在最新的版本中弃用了pylab API。用户在使用时可以根据自身的实际情况进行选择 ,若只是需要快速地绘制图表,可以选择pyplot API进行开发;若需要自定义图表,可以选择object-oriented API进行开发。

接下来,我们使用matplotlib快速的绘制截至目前巴黎奥运会各国获得金牌数量的对比图。

图4 奖牌榜

代码:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
country = (['美国','中国','澳大利亚','法国','英国','韩国'])
data = np.array([27,25,18,13,12,12])    # 准备数据
# 在当前画布的绘图区域中绘制图表
plt.plot(country,data,'bs-')
plt.show()                                   # 展示图表

图5 金牌对比图

这就是一个简单的折线图的绘制。除此之外,如何给图增加标题,横纵坐标,以及更改刻度标签?请关注“pythons数据可视化专栏”,带你入门python绘图。

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

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

相关文章

就医陪诊小程序项目开发功能介绍

陪诊小程序通常是指一种通过智能手机应用程序提供陪同就医服务的平台。其主要功能可以包括 预约挂号服务: 用户可以通过小程序预约医院或特定科室的就诊时间,避免排队等待。 陪同就医: 提供专业的陪诊员工作,陪同用户到医院就诊&…

如何理解 Java 中的阻塞队列:从基础到高级的深度解析

提到阻塞队列,许多人脑海中会浮现出 BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue 和 SynchronousQueue。尽管这些实现看起来复杂,实际上阻塞队列本身的概念相对简单,真正挑战在于内部的 AQS(Abstract Queuing Synchr…

javaweb_04:SpringBoot

一、SpringBoot快速入门 官网:https://spring.io/ spring提供了若干个子项目,每个项目用于完成特定的任务。 1、创建springboot工程,并勾选web开发相关依赖。 注意这里type要选成maven: 2、定义helloController类,添加方法h…

QT多语言工具实现支持生成ts文件,ts文件和xlsx文件互转

一. 工具介绍 1.如果你是Qt项目,为多语言发愁的话,看到这篇文件,恭喜你有福啦!工具截图如下:​ 2.在项目开发的过程中,尽量将所有需要翻译的文本放在一个文件中,qml翻译用一个文件,cpp用一个,如下: test.h #pragma once /******************************************…

Python:jupyter 模型可视化(VS)

step1:打开vs安装扩展 安装后重新启动vs 建立可视化模型 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn import treemusic_data pd.read_csv(music.csv)Xmusic_data.drop(columns[genre]) Ymusic_data[genre]modelDecisionTreeClassifie…

吴恩达机器学习 笔记四十 寻找相关特征 协同过滤的限制

寻找相关特征: 要找到其他和 x(i) 相关的项,即找到一个 item k, x(k) 与 x(i) 相似。x 是一个向量,判断相似用的是下图中的式子 ,即 x(k) 和 x(i) 之间的平方距离,有时也写成下面那种形式。 协同过滤的缺点…

openfoam中为什么一个单元用27个点表示,代表什么图形(由27个节点组成的三维立方体单元,在有限元方法(FEM)中被称为“三次立方体单元”)

问题: 近期在做openfoam项目的时候,发现openfoam中固体的点为什么一个单元用27个点表示,想着代表什么图形呢?如果以顶点表示的话好像图形就复杂了,然后查询一下资料,结果如下 解答: 在OpenFOAM中,使用27个点来表示一个单元通常指的是一种高阶单元。这种单元类型在有…

PSINS工具箱|天文导航cns和卫星导航gps的对比|MATLAB源代码

文章目录 介绍运行结果CNS观测的姿态曲线滤波后的状态曲线轨迹曲线对比三轴位置曲线误差CDF(累计概率密度函数)图像函数源码介绍 天文导航(cns)+ins组合导航和gps+ins导航的结果对比,MATLAB的源代码,基于psins工具箱。 工具箱介绍:PSINS工具箱是一个开源的惯性导航系统…

odoo17 搜索栏升级的真是太方便了

odoo&#xff11;&#xff17; 搜索栏升级的真是太方便了 几行代码&#xff0c;惊人效果 代码&#xff1a; <!-- 搜索--><record model"ir.ui.view" id"bzglsp.jiancexm_search"><field name"name">搜索</field><…

文件销毁,硬盘销毁,数据销毁,巴黎奥运会:一场GDPR大考,硬盘文件数据销毁

巴黎奥运会在使用智能设备和系统的情况下&#xff0c;如何满足欧盟严格的数据保护要求&#xff1f; 2024年夏季&#xff0c;巴黎迎来备受瞩目的奥运盛会&#xff0c;预计将吸引上百万游客到访。为保障这一全球性体育盛会的顺利进行&#xff0c;法国政府启用了一系列智能系统和…

探索IT服务台自动化的办法

如今&#xff0c;IT 服务管理 (ITSM) 工具已经有了内置智能的自动化功能。人工智能 (AI) 和机器学习 (ML) 可以自动提供更好的服务&#xff0c;比如给出基于上下文的建议、进行异常检测、做根本原因分析等等。而且&#xff0c;AI 还可以和物联网 (IoT)、机器人流程自动化 (RPA)…

阿里云SSL证书 部署Windows服务器

实现将阿里云SSL证书部署到Windows IIS 服务器中&#xff0c;方便https请求 第一步、获取并下载SSL证书 1.购买证书&#xff08;一年20个&#xff09;&#xff0c;如果没有SSL证书就需要去购买个人测试证书&#xff0c;有效期3个月 2.创建证书 3.下载证书 第二步、安装证书 …

大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

万字长文讲透数字化转型

温馨提醒&#xff1a;1.6w字详细拆解&#xff0c;内容篇幅较长&#xff0c;建议先收藏~ 数字化浪潮正在席卷全球&#xff0c;践行数字化转型和提升企业的运营水平与竞争力&#xff0c;已经成为各国企业角力全球市场的重要议题。为此&#xff0c;很多国家政府都推出了鼓励和推动…

开发者们都在讨论Bandizip,你真的不心动吗?

前言 在这个信息爆炸的时代&#xff0c;数据如潮水般涌来&#xff0c;我们的电脑空间似乎永远不够用&#xff1b;每当面对堆积如山的文件&#xff0c;你是否也曾感到头疼不已&#xff1f;别急&#xff0c;小江湖今天就要带你走进一个神奇的世界&#xff0c;那里有一款软件&…

Linux:多线程(二.理解pthread_t、线程互斥与同步、基于阻塞队列的生产消费模型)

上次讲解了多线程第一部分&#xff1a;Linux&#xff1a;多线程&#xff08;一.Linux线程概念、线程控制——创建、等待、退出、分离&#xff0c;封装一下线程&#xff09; 文章目录 1.理解Linux下线程——理解tid2. Linux线程互斥2.1相关概念2.2引入问题分析问题解决思路 2.3L…

Sqli-labs靶场65关详解(一)

前言:目的是通过构造sql语句来窃取数据库数据 一.sqli-labs靶场(1~4) 1~4使用了union联合查询字符型注入,要点在于闭合单双引号括号 要点:union联合查询 UNION 操作符用于合并两个或多个 SELECT 语句的结果集UNION 内部的 SELECT语句必须拥有相同数量的列列也必须拥有相似的…

YARN 的介绍

YARN 的介绍 一、YARN 产生背景1.1 MapReduce 1.0 系统架构 1.2 MapReduce 1.0架构缺陷二、YARN 是什么三、YARN 作用四、YARN 架构五、工作原理六、MapReduce ON YARN 工作流程七、YARN 的容错性八、YARN 的高可用八、YARN 调度器8.1 先进先出调度器8.2 容量调度器8.3 公平调度…

PyTorch深度学习实战(1)——PyTorch安装与配置

本章共有两节&#xff0c;2.1节介绍如何安装PyTorch&#xff0c;以及如何配置学习环境&#xff1b;2.2节带领读者快速浏览PyTorch中的主要内容&#xff0c;帮助读者初步了解PyTorch。 PyTorch是一款以C语言为主导开发的轻量级深度学习框架&#xff0c;它提供了丰富的Python接口…

Redis 大Key排查与优化

Redis 大Key排查与优化 什么是BigKey bigkey简单来说就是存储本身的key值空间太大&#xff0c;或者hash&#xff0c;list&#xff0c;set等存储中value值过多。没有具体的衡量标准。 参考的大小范围&#xff1a; String 类型值大于10KB。Hash、List、Set、Zset类型元素个数…