当前位置: 首页 > news >正文

【数据可视化】Plotly Express绘图库使用

Plotly Express是一个基于Plotly库的高级Python可视化库。它旨在使绘图变得简单且直观,无需繁琐的设置和配置。通过使用Plotly Express,您可以使用少量的代码创建具有丰富交互性和专业外观的各种图表。以下是Plotly Express的一些主要特点和优势:

  1. 简单易用:Plotly Express提供了一组直观的函数和方法,使得创建各种类型的图表变得非常简单。您可以使用少量的代码生成复杂的图表,而无需深入了解底层的绘图细节。

  2. 支持多种图表类型:Plotly Express支持多种常见的图表类型,包括散点图、线图、柱状图、饼图、箱线图、等高线图、地图等。您可以根据需要选择合适的图表类型来呈现数据。

  3. 内置交互性:通过使用Plotly Express,您可以轻松地为生成的图表添加交互功能。您可以缩放、平移、选择数据点、查看工具提示等,以便更好地探索数据和图表。

  4. 自动美化:Plotly Express会自动为生成的图表添加专业的样式和外观。这意味着您不需要手动进行大量的配置和调整,即可获得漂亮的图表。当然,您也可以通过一些参数来自定义图表的外观。

  5. 整合Plotly图表生态系统:Plotly Express是Plotly图表生态系统的一部分,可以与其他Plotly库和工具进行无缝集成。您可以将Plotly Express与Plotly的其他组件(如Dash)一起使用,构建交互性强大的数据可视化应用程序。

Plotly Express与matplotlib和pyecharts相比有以下几个优势:

  1. 交互性:Plotly Express内置了交互性,使用户能够在图表中进行缩放、平移、选择数据点以及查看工具提示等操作。这种交互性使得数据的探索和分析变得更加直观和灵活。而matplotlib和pyecharts在交互性方面相对有限。

  2. 美观性:Plotly Express提供了一组精心设计的默认样式,使得生成的图表外观美观并具有专业感。您可以获得漂亮的图表,而无需过多的配置和调整。相比之下,matplotlib需要更多的手动配置来实现类似的外观,而pyecharts则提供了一些模板和预设主题,但美观性较Plotly Express稍逊一筹。

  3. 多种图表类型:Plotly Express支持多种常见的图表类型,包括散点图、线图、柱状图、饼图、箱线图、等高线图、地图等。这使得用户可以根据需要选择最适合的图表类型来呈现数据。matplotlib也提供了多种图表类型,但在某些类型的图表上,Plotly Express的绘制和配置更为简单和直观。

  4. Pythonic接口:Plotly Express的API设计符合Pythonic风格,使用起来更加直观和易于理解。它提供了一组简洁的函数和方法,使用户能够以一种自然的方式生成图表。相比之下,matplotlib的API较为繁琐,需要更多的代码来实现相同的效果,而pyecharts则使用了类似于JavaScript的配置方式。

  5. 与Plotly生态系统的集成:Plotly Express是Plotly图表生态系统的一部分,与其他Plotly库和工具无缝集成。这意味着您可以将Plotly Express与其他Plotly组件(如Dash)一起使用,构建交互性强大的数据可视化应用程序。这种集成性使得Plotly Express成为一个功能丰富且灵活的选择。

import pandas as pd
import plotly_express as pxgapminder = pd.DataFrame(px.data.gapminder())
gapminder.rename(columns={"year": "年份", "country": "国家", "continent": "所在洲","lifeExp": "预期寿命", "pop": "人口", "gdpPercap": "人均GDP","iso_alpha": "ISO国家代码", "iso_num": "ISO数字代码"}, inplace=True)
gapminder['所在洲'] = gapminder["所在洲"].map({"Asia": "亚洲", "Europe": "欧洲","Africa": "非洲", "Americas": "美洲", "Oceania": "大洋洲"})
# line 图
fig = px.line(gapminder,  # 数据集x="年份",  # 横坐标y="预期寿命",  # 纵坐标color="所在洲",  # 颜色的数据line_group="所在洲",  # 线性分组hover_name="国家",  # 悬停hover的数据line_shape="spline",  # 线的形状render_mode="svg"  # 生成的图片模式
)
fig.show()# area 图
fig = px.area(gapminder,  # 数据集x="年份",  # 横坐标y="人口",  # 纵坐标color="所在洲",  # 颜色line_group="国家"  # 线性组别
)
fig.show()fig = px.scatter(gapminder  # 绘图DataFrame数据集, x="人均GDP"  # 横坐标, y="预期寿命"  # 纵坐标, color="所在洲"  # 区分颜色, size="人口"  # 区分圆的大小, size_max=60  # 散点大小
)
fig.show()fig = px.scatter(gapminder  # 绘图使用的数据, x="人均GDP"  # 横纵坐标使用的数据, y="预期寿命"  # 纵坐标数据, color="所在洲"  # 区分颜色的属性, size="人口"  # 区分圆的大小, size_max=60  # 圆的最大值, hover_name="国家"  # 图中可视化最上面的名字, animation_frame="年份"  # 横轴滚动栏的属性year, animation_group="国家"  # 标注的分组, facet_col="所在洲"  # 按照国家country属性进行分格显示, log_x=True  # 横坐标表取对数, range_x=[100, 100000]  # 横轴取值范围, range_y=[25, 90]  # 纵轴范围, labels=dict(pop="人口",  # 属性名字的变化,更直观gdpPercap="人均GDP",lifeExp="预期寿命")
)
fig.show()fig = px.choropleth(gapminder,  # 数据集locations="ISO国家代码",  # 配合颜色color显示color="预期寿命",  # 颜色的字段选择hover_name="国家",  # 悬停字段名字animation_frame="年份",  # 注释color_continuous_scale=px.colors.sequential.Plasma,  # 颜色变化projection="natural earth"  # 全球地图
)
fig.show()fig = px.scatter_geo(gapminder,  # 数据locations="ISO国家代码",  # 配合颜色color显示color="所在洲",  # 颜色hover_name="国家",  # 悬停数据size="人口",  # 大小animation_frame="年份",  # 数据帧的选择projection="natural earth"  # 全球地图
)
fig.show()fig = px.line_geo(gapminder,  # 数据集locations="ISO国家代码",  # 配合和color显示数据color="所在洲",  # 颜色projection="orthographic")  # 球形的地图
fig.show()iris = pd.DataFrame(px.data.iris())
iris.rename(columns={"sepal_width": "花萼宽度", "sepal_length": "花萼长度", "petal_width": "花瓣宽度","petal_length": "花瓣长度", "species": "品种", "species_id": "品种编号"}, inplace=True)
iris['品种'] = iris["品种"].map({"setosa": "山鸢尾", "versicolor": "变色鸢尾","virginica": "维吉尼亚鸢尾"})fig = px.scatter(iris,  # 数据集x="花萼宽度",  # 横坐标y="花萼长度"  # 纵坐标
)
fig.show()fig = px.scatter(iris,  # 数据集x="花萼宽度",  # 横坐标y="花萼长度",  # 纵坐标color="品种",  # 颜色marginal_x="histogram",  # 横坐标直方图marginal_y="rug"  # 细条图
)
fig.show()fig = px.scatter(iris,  # 数据集x="花萼宽度",  # 横坐标y="花萼长度",  # 纵坐标color="品种",  # 颜色marginal_y="violin",  # 纵坐标小提琴图marginal_x="box",  # 横坐标箱型图trendline="ols"  # 趋势线
)
fig.show()fig = px.scatter_matrix(iris,  # 数据dimensions=["花萼宽度", "花萼长度", "花瓣宽度", "花瓣长度"],  # 维度选择color="品种")  # 颜色
fig.show()fig = px.parallel_coordinates(iris,  # 数据集color="品种编号",  # 颜色labels={"品种编号": "品种",  # 各种标签值"花萼宽度": "花萼宽度","花萼长度": "花萼长度","花瓣长度": "花瓣长度","花瓣宽度": "花瓣宽度"},color_continuous_scale=px.colors.diverging.Tealrose,color_continuous_midpoint=2)
fig.show()fig = px.density_contour(iris,  # 数据集x="花萼宽度",  # 横坐标值y="花萼长度",  # 纵坐标值color="品种",  # 颜色marginal_x="rug",  # 横轴为线条图marginal_y="histogram"  # 纵轴为直方图
)
fig.show()wind = pd.DataFrame(px.data.wind())
wind.rename(columns={"frequency": "频率", "direction": "方向", "strength": "强度"}, inplace=True)
fig = px.bar_polar(wind,   # 数据集r="频率",   # 半径theta="方向",  # 角度color="强度",  # 颜色template="plotly_dark",  # 主题color_discrete_sequence=px.colors.sequential.Plasma_r)  # 颜色变化
fig.show()

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

【数据可视化】Plotly Express绘图库使用

Plotly Express是一个基于Plotly库的高级Python可视化库。它旨在使绘图变得简单且直观,无需繁琐的设置和配置。通过使用Plotly Express,您可以使用少量的代码创建具有丰富交互性和专业外观的各种图表。以下是Plotly Express的一些主要特点和优势&#xf…...

小红书企业号限流原因有哪些,限流因素

作为企业、品牌在小红书都有官方账号,很多人将注册小红书企业号看作是获取品牌宣推“特权”的必行之举。事实真的如此吗,那为什么小红书企业号限流频发,小红书企业号限流原因有哪些,限流因素。 一、小红书企业号限流真的存在吗 首…...

1.6C++双目运算符重载

C双目运算符重载 C中的双目运算符重载指的是重载二元运算符,即有两个操作数的运算符,如加减乘除运算符“”、“-”、“*”和“/”等。 通过重载双目运算符,可以实现自定义类型的运算符操作。 比如可以通过重载加减运算符实现自定义类型的向…...

CDD诊断数据库的简单介绍

1. 什么是数据库? 数据库是以结构化方式组织的一个数据集合。 比如DBC数据库: Network nodes Display Rx Messages EngineState(0x123) 通过结构化的方式把网络节点Display里Rx报文EngineState(0x123)层层展开。这种方 式的好处是:层次清晰,结构分明,易于查找。 2. 什么…...

【笔试强训选择题】Day25.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&#xff…...

Python心经(6)

目录 callable super type()获取对应类型 isinstance判断对象是否是某个类或者子类的实例 issubclass,判断对象是不是类的子孙类 python3的异常处理 反射: 心经第三节和第五节都写了些面向对象的,这一节补充一…...

MMPose安装记录

参考:GitHub - open-mmlab/mmpose: OpenMMLab Pose Estimation Toolbox and Benchmark. 一、依赖环境 MMPose 适用于 Linux、Windows 和 macOS。它需要 Python 3.7、CUDA 9.2 和 PyTorch 1.6。我的环境: Windows 11 Python 3.9 CUDA 11.6 PyTorch 1.13 …...

梯度下降优化

二阶梯度优化 1.无约束优化算法1.1最小二乘法1.2梯度下降法1.3牛顿法/拟牛顿法 2.一阶梯度优化2.1梯度的数学原理2.2梯度下降算法 3.二阶梯度优化梯度优化3.1 牛顿法3.2 拟牛顿法 1.无约束优化算法 在机器学习中的无约束优化算法中,除了梯度下降以外,还…...

一起看 I/O | 将 Kotlin 引入 Web

作者 / 产品经理 Vivek Sekhar 我们将在本文为您介绍 JetBrains 和 Google 的早期实验性工作。您可以观看今年 Google I/O 大会中的 WebAssembly 相关演讲,了解更多详情: https://youtu.be/RcHER-3gFXI?t604 应用开发者想要尽可能地在更多平台上最大限度地吸引用户…...

极致呈现系列之:Echarts地图的浩瀚视野(一)

目录 Echarts中的地图组件地图组件初体验下载地图数据准备Echarts的基本结构导入地图数据并注册展示地图数据结合visualMap展示地图数据 Echarts中的地图组件 Echarts中的地图组件是一种用于展示地理数据的可视化组件。它可以显示全国、各省市和各城市的地图,并支持…...

第四章 模型篇:模型训练与示例

文章目录 SummaryAutogradFunctions ()GradientBackward() OptimizationOptimization loopOptimizerLearning Rate SchedulesTime-dependent schedulesPerformance-dependent schedulesTraining with MomentumAdaptive learning rates optim.lr_scheluder Summary 在pytorch_t…...

利用人工智能模型学习Python爬虫

爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 网络爬虫(又称为网页蜘蛛,网络机器人)是其中一种类型。 爬虫可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络…...

.Net泛型详解

引言 在我们使用.Net进行编程的过程中经常遇到这样的场景:对于几乎相同的处理,由于入参的不同,我们需要写N多个重载,而执行过程几乎是相同的。更或者,对于几乎完成相同功能的类,由于其内部元素类型的不同&…...

C++ 教程(10)——存储类

存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类: autoregisterstaticexternmutablethread_local (C11) 从 C 17 开始,auto 关键字不再是 C 存储…...

vue3+vite+element-plus创建项目,修改主题色

element-plus按需引入,修改项目的主题色 根据官方文档安装依赖 ​npm install -D unplugin-vue-components unplugin-auto-import vite.config.js配置 // vite.config.ts import { defineConfig } from vite import AutoImport from unplugin-auto-import/vite …...

mysql select是如何一步步执行的呢?

mysql select执行流程如图所示 server侧 在8.0之前server存在查询语句对应数据的缓存,不过在实际使用中比较鸡肋,对于更新比较频繁、稍微改点查询语句都会导致缓存无法用到 解析 解析sql语句为mysql能够直接执行的形式。通过词法分析识别表名、字段名等…...

找到距离最近的点,性能最好的方法

要找到距离最近的点并且性能最好,一种常用的方法是使用空间数据结构来加速搜索过程。以下是两个常见的数据结构和它们的应用: KD树(KD-Tree):KD树是一种二叉树数据结构,用于对k维空间中的点进行分割和组织…...

vue基础--重点

!1、vue的特性 !2、v-model 双向数据绑定指令 (data数据源变化,页面变化; 页面变化,data数据源也变化) 1、v-model 会感知到 框中数据变化 2、v-model 只有在表单元素中使用,才能…...

HarmonyOS元服务端云一体化开发快速入门(上)

一、前提条件 您已使用已实名认证的华为开发者帐号登录DevEco Studio。 请确保您的华为开发者帐号余额充足,账户欠费将导致云存储服务开通失败。 二、选择云开发模板 1.选择以下任一种方式,打开工程创建向导界面。 如果当前未打开任何工程&#xff0c…...

leetcode 279.完全平方数

题目描述 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 …...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...