Python中的数据可视化:从基础图表到高级可视化

在这里插入图片描述

数据可视化是数据分析和科学计算中不可或缺的一部分。它通过图形化的方式呈现数据,使复杂的统计信息变得直观易懂。Python提供了多种强大的库来支持数据可视化,如Matplotlib、Seaborn、Plotly等。本文将从基础图表入手,逐步介绍如何使用这些库进行高级可视化。

Matplotlib:基础图表绘制

Matplotlib是最常用的Python绘图库,它提供了丰富的绘图功能,支持多种图表类型。以下是使用Matplotlib绘制基础图表的示例。

安装Matplotlib
pip install matplotlib
绘制折线图
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 创建图表
plt.plot(x, y, marker='o')# 设置标题和标签
plt.title("Simple Line Plot")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")# 显示图表
plt.show()
绘制柱状图
import matplotlib.pyplot as plt# 数据
categories = ['A', 'B', 'C', 'D']
values = [10, 15, 7, 10]# 创建柱状图
plt.bar(categories, values, color='skyblue')# 设置标题和标签
plt.title("Bar Chart")
plt.xlabel("Categories")
plt.ylabel("Values")# 显示图表
plt.show()
Seaborn:高级统计图表

Seaborn是基于Matplotlib的高级绘图库,它提供了更简洁的API和更美观的默认样式。以下是使用Seaborn绘制高级统计图表的示例。

安装Seaborn
pip install seaborn
绘制箱形图
import seaborn as sns
import matplotlib.pyplot as plt# 数据
data = [1, 2, 2, 3, 4, 4, 4, 5, 6, 6, 7, 8, 9, 10]# 创建箱形图
sns.boxplot(data=data)# 设置标题和标签
plt.title("Box Plot")
plt.xlabel("Data")# 显示图表
plt.show()
绘制热力图
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np# 数据
data = np.random.rand(10, 10)# 创建热力图
sns.heatmap(data, annot=True, cmap='coolwarm')# 设置标题
plt.title("Heatmap")# 显示图表
plt.show()
Plotly:交互式图表

Plotly是一个支持交互式图表的库,适用于Web应用和数据报告。以下是使用Plotly绘制交互式图表的示例。

安装Plotly
pip install plotly
绘制交互式折线图
import plotly.express as px# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 创建折线图
fig = px.line(x=x, y=y, title="Interactive Line Plot")# 显示图表
fig.show()
绘制散点图
import plotly.express as px# 数据
df = px.data.iris()# 创建散点图
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", title="Scatter Plot")# 显示图表
fig.show()
Bokeh:动态图表

Bokeh是一个用于创建动态、交互式图表的库,特别适合用于Web应用。以下是使用Bokeh绘制动态图表的示例。

安装Bokeh
pip install bokeh
绘制动态折线图
from bokeh.plotting import figure, show
from bokeh.io import output_notebook# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 创建图表
p = figure(title="Dynamic Line Plot", x_axis_label="X-axis", y_axis_label="Y-axis")
p.line(x, y, legend_label="Line", line_width=2)# 显示图表
output_notebook()
show(p)
绘制柱状图
from bokeh.plotting import figure, show
from bokeh.io import output_notebook# 数据
categories = ['A', 'B', 'C', 'D']
values = [10, 15, 7, 10]# 创建图表
p = figure(x_range=categories, title="Bar Chart", x_axis_label="Categories", y_axis_label="Values")
p.vbar(x=categories, top=values, width=0.9, color="skyblue")# 显示图表
output_notebook()
show(p)
结语

数据可视化是数据分析和科学计算中的重要环节,Python提供了多种强大的库来支持这一任务。通过掌握Matplotlib、Seaborn、Plotly和Bokeh等库,你可以从基础图表到高级可视化,全面提升数据呈现的效果。希望本文能帮助你更好地理解和应用这些工具,让你的数据可视化工作更加高效和专业。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础漏洞——SSRF

目录 一.原理 二.引起ssrf的函数 三.这些函数具体作用 (1)File_get_content() (2)Fsockopen() (3)Curl_exec() 四.常见的业务场景(可能出现的漏洞的地方,漏洞挖掘&#xff09…

自动化学习2:pytest的高级用法(mark标记/fixture/hook)

一.mark的用法 概念:Pytest提供的mark标记,允许我们标记测试函数,测试类和整个模块。通过不同的标记实现不同的运行策略,如标记冒烟测试用例。 1.注册标记 可以在pytest.ini文件注册自定义标记 除了自己注册的标记外&#xff0…

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…

Java面试篇基础部分- 锁详解

可重入锁 可重入锁也叫作递归锁,是指在同一个线程中,在外层函数获取到该锁之后,内存的递归函数还可以获取到该锁。在Java语言环境下,ReentrantLock和Synchroinzed都是可重入锁的代表。 公平锁与非公平锁 公平锁(Fair Lock)是指在分配锁之前检查是否有线程在排队等待获取…

搜维尔科技:SenseGlove触觉反馈手套遥操作人形机器人、机械臂解决方案

硬件组成: 1. SenseGlove 力反馈手套:这是整个系统的核心交互设备,手套上配备了多种传感器和执行器。传感器可以精确地捕捉用户手部的动作,包括手指的弯曲程度、手掌的朝向、手部的移动速度等信息。执行器则能够根据系统反馈的信…

SRS流媒体服务器在宝塔面板下的安装

目录 一、安装 1、安装Docker 2、安装srs 二、测试 1、进入后台 2、推流 3、播放测试: (1)网页 (2)拉流 之前一篇文章,我们介绍了SRS流媒体服务器在CentOS下的安装,安装流程还是比较麻烦且耗时的,其实SRS支持Docker部署,今天我们介绍在宝塔面板的Docker中部署…

[C#]winform 使用opencvsharp实现玉米粒计数

【算法介绍】 这段代码是使用OpenCvSharp库(OpenCV的C#封装)对图像进行处理,主要流程包括图像的二值化、腐蚀操作、距离变换、轮廓检测,并在原图上标出检测到的轮廓位置及数量。下面是对代码的详细解读: 初始化&…

element下拉框联动 或 多选 回显数据后页面操作不生效问题解决

第一种:多选回显不生效 解决方式: 代码: <el-form-item label"系统" prop"Key"> <el-select v-model"addForm.Key" multiple placeholder"请选择" change"$forceUpdate()"> <el-option v-for"item …

【计算机网络 - 基础问题】每日 3 题(十九)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

肝内胆管癌中三级淋巴结构分布与临床预后的相关性研究|文献精析·24-09-22

小罗碎碎念 这篇文章是关于肝内胆管癌&#xff08;intrahepatic cholangiocarcinoma, iCCA&#xff09;中三级淋巴结构&#xff08;tertiary lymphoid structures, TLSs&#xff09;的分布、密度及其对临床结果的预测价值的研究。 作者类型作者姓名单位名称&#xff08;中文&a…

如何在算家云搭建DiffSynth-Kolors-Painter(图像生成)

一、DiffSynth-Kolors-Painter简介 DiffSynth 画板提供了 Prompt 分区控制技术&#xff0c;可以通过创建图层、调整不同的提示&#xff08;Prompt&#xff09;精细地控制画面的每一部分&#xff0c;影响画面的特定区域&#xff0c;从而实现对画面的精细操控&#xff0c;实现了…

基于单片机的智能窗帘控制系统-设计说明书

设计摘要&#xff1a; 智能窗帘控制系统是一种利用单片机技术实现的智能化控制系统&#xff0c;可以实现窗帘的自动开合和定时控制功能。本系统的设计基于单片机技术&#xff0c;结合传感器、电机和执行器等硬件设备&#xff0c;实现对窗帘的智能化控制。通过传感器采集环境信…

从一个文本文件中挑选出符合条件的内容行

某天&#xff0c;张三得到一个需求&#xff0c;将如下格式的文本文件中的文件名开头的内容行提取出来&#xff0c;存入一个新的文本文件。 ok 0 文件名&#xff1a;1_zoukaige.mp3 index:10 文件名&#xff1a;2_dahan.mp3 index:20 文件名&#xff1a;3_kuai.mp3 index:30 文件…

LTE协议栈学习

1、高通Modem架构 LTE网络架构 3、LTE协议栈 1、 NAS协议栈: EPS Mobility Management (EMM) 支持UE中的移动功能 EPS Session Management (ESM) 支持在UE和PDN网关之间建立和维护IP连接 高通平台NAS层结构 根据3GPP TS 23.122描述&#xff0c; 自动搜网顺序如下 HPLMN EH…

Redisson 总结

1. 基础使用 1.1 引入依赖 <dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId></dependency> </dependencies>包含的依赖如下 1.2 配置文件 其实默认主机就…

MCU自动测量单元采集振弦式应变计测值的过程

振弦式应变计是一种广泛应用于土木工程、地质勘探等领域的高精度传感器&#xff0c;用于测量结构的应变变化。近年来&#xff0c;随着微控制器单元(MCU)的发展&#xff0c;自动化测量技术得到了极大的提升&#xff0c;使得振弦式应变计的测值采集更加高效和精确。本文将详细介绍…

vue-router路由(重定向,嵌套,动态路由匹配,命名,高亮,守卫)

一、前端路由的概念与原理 路由router就是对应关系。分为前端路由和后端路由。 1后端路由 后端路由指的是&#xff1a;请求方式、请求地址与function处理函数之间的对应关系。在node.js中&#xff0c;express理由的基本用法如下&#xff1a; const express require(expres…

IPsec-Vpn

网络括谱图 IPSec-VPN 配置思路 1 配置IP地址 FWA:IP地址的配置 [FW1000-A]interface GigabitEthernet 1/0/0 [FW1000-A-GigabitEthernet1/0/0]ip address 10.1.1.1 24 [FW1000-A]interface GigabitEthernet 1/0/2 [FW1000-A-GigabitEthernet1/0/2]ip address

【编程底层原理】Java常用读写锁的使用和原理

一、引言 在Java的并发世界中&#xff0c;合理地管理对共享资源的访问是至关重要的。读写锁&#xff08;ReadWriteLock&#xff09;正是一种能让多个线程同时读取共享资源&#xff0c;而写入资源时需要独占访问的同步工具。本文将带你了解读写锁的使用方法、原理以及它如何提高…

基于SSM的“银发在线教育云平台”的设计与实现(源码+数据库+文档)

基于SSM的“银发在线教育云平台”的设计与实现&#xff08;源码数据库文档) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 首页页面图 健身养生详情页面 在线课堂界面 …