使用Python进行可视化

news2024/11/29 0:47:17

字不如表,表不如图

在使用python进行数据分析的过程中,绘制图表常常是理解数据最为关键的一步;

Python提供了5大可视化库:

Matplotlib:是Python可视化库中的泰斗,公认的可视化工具,可以方便地设计和输出二维及三维的数据;

Seaborn:在Matplotlib的基础上进行了更高级的API封装,提供一种高度交互式界面,使得制图更容易;

Bokeh:专门针对web浏览器的交互式Python库,支持现代化web浏览器展示;

Plotly:是一个开源、交互和基于浏览器的python库,可创建能在仪表板或网站中使用的交互式图表;

Pyecharts:是Echarts与Python的对接,是Python中用于生成Echarts图表的类库。

Matplotlib

Matplotlib是一个非常强大的Python画图工具,可以用来绘制各种静态,动态,交互式的图表。 Matplotlib可以绘制线图、散点图、条形图、柱状图、3D 图形、甚至是图形动画等等。

官网:Matplotlib — Visualization with Python

Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)或Pandas一起使用, 这种组合广泛用于替代 MatLab,有助于通过 Python 学习数据科学或者机器学习。

Matplotlib中应用最广的是matplotlib.pyplot模块;Pyplot提供了一套和Matlab类似的绘图API,只需要调用Pyplot模块所提供的函数就可以实现快速绘图并设置图表。

加载pyplot:import matplotlib.pyplot as plt

(一)Pyplot模块的基本函数与属性

准备好制图数据,传入参数,即可使用plt.plot(), plt.show()一键出图!

Matplotlib重要函数

函数名称函数作用
plt.title在当前图形中添加标题,可以指定标题的名称、位置、颜色、字体大小等参数。
plt.xlabel在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数。
plt.ylabel在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数。
plt.xlim指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。
plt.ylim指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。
plt.xticks指定x轴刻度的数目与取值。
plt.yticks指定y轴刻度的数目与取值。
plt.legend指定当前图形的图例,可以指定图例的大小、位置、标签。

绘制一个简单的图表:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
c,s=np.cos(x),np.sin(x)
plt.plot(x,s)
plt.plot(x,c)
plt.show()

绘制一个简单的图表:

import numpy as np
import matplotlib.pyplot as plt
import random
#设置x和y
x=[i for i in range(1,11)] #生成x
y=[random.randint(1,10) for i in range(10)]  #生成y,随机数,每次都不同

#绘图
plt.plot(x,y)

#显示
plt.show()

range只支持步长为整数,而Arange支持步长为小数哦

设置图片大小和分辨率:

设置坐标轴(xy值,XY轴刻度值,取值范围):

自定义XY轴刻度取值:

添加描述信息(标题、轴标签、风格、图例):

注意: 添加标题,坐标轴名称,绘制图形等步骤是并列的,没有先后顺序,可以先绘制图形,也可以先添加各类标签;

但是添加图例legend一定要在绘制图形之后。

小窍门:将图例名称放在plot函数,而不是legend函数中进行定义,可以避免图例显示不全的问题

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

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

相关文章

xv6第一章:Operating system interfaces

操作系统通过接口为程序提供服务。xv6只包含一些基本的接口,如上图。 xv6采用kernel的方式。kernel是一种特殊的程序为一般程序提供服务。计算机中有许多进程但是只有一个进程。 当一个进程需要使用kernel服务,需要进行system call。 system call后&am…

Cesium+Vue:地形开挖

作者:CSDN @ _乐多_ 本文记录了在Cesium中进行地形开挖的方法和代码。使用Vue框架。 效果如下所示, 文章目录 前言:配置Cesium一、Vue文件二、创建地形开挖函数库三、创建绘制图形库四、创建提示语库前言:配置Cesium 参考《Vue:Vue项目中的Cesium配置备忘录》

Java小游戏之——贪吃蛇

今天详细讲解写贪吃蛇的遇到的问题 代码: Main类 GrameStart类 GamePanel类 启动main方法 在写贪吃蛇的时候,我接触到了两个新东西: 1.定时器Timer类。 2.paint()绘图方法。第一次出现在java.awt.Component类中&…

HackTheBox-Starting Point--Tier 2---Included

文章目录 一 Included 测试过程1.1 打点1.2 横向移动1.3 权限提升 二 题目 一 Included 测试过程 1.1 打点 1.端口扫描 nmap -sV -sC 10.129.193.212.访问web站点 3.文件包含漏洞探测 观察请求地址:http://10.129.193.21/?filehome.php,利用file参数动…

【ISP图像处理】Demosaic去马赛克概念介绍以及相关方法整理

1. 基本定义 使用彩色滤光器阵列(CFA)的数码相机需要一个去马赛克程序来形成完整的RGB图像。一般的相机传感器都是采用彩色滤光片阵列(CFA)放置在光感测单元上,在每个像素处仅捕获三种原色成分中的一种。 去马赛克方法主要关注于复原非常规区域,比如边缘…

解决:Error: Missing binding xxxxx\node_modules\node-sass\vendor\win32-x64-83\

一、具体报错 二、报错原因 这个错误是由于缺少 node-sass 模块的绑定文件引起的。 三、导致原因 3.1、环境发生了变化 3.2、安装过程出现问题 四、解决方法步骤: 4.1、重新构建 node-sass 模块 npm rebuild node-sass 4.2、清除缓存并重新安装依赖 npm c…

通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件

与传统证券一样,基于区块链技术发展出来的虚拟资产交易所经历了快速发展而缺乏有效监管的行业早期。除了科技光环加持的各种区块链项目方、造富神话之外,交易所遭到黑客攻击、内部偷窃作恶、甚至经营主体异常而致使投资人血本无归的案例亦令人触目惊心。…

Unity中Shader矩阵的转置矩阵

文章目录 前言一、转置的表示二、转置矩阵三、转置矩阵的总结1、(A^T^)^T^ A2、(A B)^T^ A^T^ B^T^3、(kA)^T^ kA^T^ (k为实数)4、(AB)^T^ B^T^A^T^5、如果 A A^T^ 则称A为对称矩阵6、如果 AA^T^ I(单位矩阵),则称 A 为正交矩阵,同时 A^T^ A^-1…

Day32力扣打卡

打卡记录 买卖股票的最佳时机 IV(状态机DP) 链接 class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:n len(prices)max lambda x, y: x if x > y else yf [[-0x3f3f3f3f] * 2 for _ in range(k 2)]for i in range(k 2…

web 前台页面内弹出框(一)

本文已经不推荐在使用了,有更加优秀的 ,详情参考layui弹出层 前端当前页面编辑一些数据时,往往会用到弹出窗口,但每个页面单独修改有显得比较麻烦,因此,可以建立一个公用的方法,去掉用就可以了&…

深度学习之基于YoloV5苹果新鲜程度检测识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 深度学习之基于 YOLOv5 苹果新鲜程度检测识别系统介绍YOLOv5 简介苹果新鲜程度检测系统系统架构应用场景 二、功能三、系统四. 总结 一项目简介 深度学习之…

5.0 Java API

API(Application Programming Interface)指的是应用程序编程接口,API可以让编程变得更加方便简单。Java也提供了大量API供程序开发者使用,即Java API。Java API指的就是JDK提供的各种功能的Java类库,如之前所讲的Array…

C++运算符重载详解(日期类实操)

前言&#xff1a;为什么要实现运算符重载&#xff1f; 在C语言中&#xff0c;对于内置类型&#xff0c;我们可以根据符号>、<、等去直接比较大小&#xff0c;但是对于自定义来说&#xff0c;肯定不能直接比较大小&#xff0c;例如下面的日期类&#xff0c;想要比较两个两…

Genio 500_MT8385安卓核心板:功能强大且高效

Genio 500(MT8385)安卓核心板是一款功能强大且高效的AIoT平台&#xff0c;内置的AI处理器(APU)工作频率可达500MHz&#xff0c;支持深度学习、神经网络加速和计算机视觉应用。配合高达2500万像素的摄像头&#xff0c;可以为AI相机应用提供清晰、精确的图像&#xff0c;如人脸识…

vscode中Chinese (Simplified)汉化无效解决方法

问题复现 之前已经下载了 Chinese (Simplified)插件并启用了&#xff0c;都是正常的中文简体。有时候打开vscode的时候&#xff0c;会发现汉化失效了&#xff0c;如图&#xff1a; 解决方法 依次点击 扩展&#xff08;Extensions&#xff09;— Chinese (Simplified) — 选…

Banana Pi BPI-W3之RK3588安装Qt+opencv+采集摄像头画面.

场景&#xff1a;在Banana Pi BPI-W3 RK3588上做qt开发工作RK3588安装Qtopencv采集摄像头画面 2. 环境介绍 硬件环境&#xff1a; Banana Pi BPI-W3RK3588开发板、MIPI-CSI摄像头( ArmSoM官方配件 )软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debian11 QT&#xff1a;QT5…

LeetCode(20)最长公共前缀【数组/字符串】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 14. 最长公共前缀 1.题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow&qu…

【计算机组成原理】定点加法、减法运算

系列文章目录 绘制出纯整数(1字节)和纯小数的数轴 将十进制数20.59375&#xff0c;转换成754标准的32位浮点数的二进制存储格式 用双符号位补码求 x 0.1010011, y -0.1001010, 分别求出 x y, x - y&#xff0c;并判溢出

求10的阶乘之和

这个问题很简单&#xff0c;我们用for循环就可以做到&#xff01; 目录 1.用两个for循环求值 2.用一个for循环求值 1.用两个for循环求值 int main() {int i 1;int ret 1;int sum 0;int n 0;for (n 1; n < 10; n){ret 1;for (i 1; i < n; i){ret ret * i;}sum …

Linux_/proc目录_查看处理器的信息/proc/cpuinfo

1、cat /proc/cpuinfo_查看/proc/cpuinfo文件的内容 可以看到板卡有4个处理器&#xff0c;剩下的信息emmm...... 2、BogoMIPS_反映CPU运算速率 MIPS是millions of instructions per second(百万条指令每秒)的缩写&#xff0c;其代表CPU的运算速率。 BogoMIPS是Linux大致计算…