【小沐学Python】Python实现Web图表功能(Lux)

文章目录

  • 1、简介
  • 2、安装
  • 3、测试
    • 3.1 入门示例
    • 3.2 入门示例2
  • 结语

1、简介

https://github.com/lux-org/lux

用于智能可视化发现的 Python API

在这里插入图片描述
Lux 是一个 Python 库,通过自动化可视化和数据分析过程来促进快速简便的数据探索。通过简单地在 Jupyter 笔记本中打印出数据帧,Lux 推荐一组可视化效果,突出显示数据集中有趣的趋势和模式。可视化通过交互式小部件显示,使用户能够快速浏览大量可视化并理解其数据。

  • 自动可视化:Lux能够自动识别数据框中的关键特征,并生成有意义的可视化图表。
  • 交互性:Lux提供了交互式探索数据的能力,可以轻松地通过滑块、筛选器和图表操作进行数据的探索和分析。
  • 简单易用:Lux的API简单易用,无需繁琐的配置即可创建高质量的可视化图表。
  • 快速探索:Lux可以快速探索大规模数据集,发现潜在的模式和见解。

2、安装

https://lux-api.readthedocs.io/
Python Lux是一个Python库,它与Pandas数据框(DataFrames)无缝集成,提供了简单而强大的数据可视化功能。

pip install lux-api==0.5.1
pip install lux-widget==0.1.11

在这里插入图片描述
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。

pip install jupyter
pip install notebook==6.5.6
pip install traitlets==5.14.2

在这里插入图片描述

pip install -r requirements.txt

在这里插入图片描述

jupyter nbextension install --py luxwidget
jupyter nbextension enable --py luxwidget

在这里插入图片描述

3、测试

3.1 入门示例

执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。启动jupyter :

jupyter notebook

在这里插入图片描述
浏览器自动打开如下网页:
在这里插入图片描述
Lux 可以在不修改任何现有 Pandas 代码的情况下使用。在这里,我们使用 Pandas 的 read_csv 命令加载大学及其属性的数据集。

输入Python代码如下:

import lux
import pandas as pd
# df = pd.read_csv("https://raw.githubusercontent.com/lux-org/lux-datasets/master/data/college.csv")
df = pd.read_csv("college.csv")
df

在这里插入图片描述
运行如下:
在这里插入图片描述
点击按钮“Toggle Pandas/Lux”,如下:

  • Correlation
    在这里插入图片描述
  • Distribution
    在这里插入图片描述
  • Occurrence
    在这里插入图片描述
df.intent = ["AverageCost","SATAverage"]
df

在这里插入图片描述

from lux.vis.Vis import Vis
Vis(["Region=New England","MedianEarnings"],df)

在这里插入图片描述

from lux.vis.VisList import VisList
VisList(["Region=?","AverageCost"],df)

在这里插入图片描述

3.2 入门示例2

例如,我们加载了快乐星球指数数据集,其中包含与全球 140 个国家/地区的幸福感相关的指标。

import pandas as pd
import lux# df = pd.read_csv("https://raw.githubusercontent.com/lux-org/lux-datasets/master/data/hpi.csv")
df = pd.read_csv("hpi.csv")
df.default_display = "lux" # Set Lux as default display
df

在这里插入图片描述
点击切换按钮“Toggle Pandas/Lux”之后:
在这里插入图片描述
点击分页“Geographical”,如下:
在这里插入图片描述

vis = df.exported[0]
vis

在这里插入图片描述
通过导出的 Vis,我们可以将与 dataframe 关联的 intent 更新为基于所选 Vis 的 Vis,以获得与此可视化相关的更多建议。

df.intent = vis
df

在这里插入图片描述
为了允许对可视化进行进一步的编辑,可以通过以下命令将可视化导出为 Matplotlib、Altair 中的代码或作为 Vega-Lite 规范。

print (vis.to_code("matplotlib"))
print (vis.to_code("altair"))
print (vis.to_code("vegalite"))

在这里插入图片描述

print (vis.to_matplotlib())

在这里插入图片描述
您可以使用以下命令将可视化效果导出为静态 HTML:

df.save_as_html()

在这里插入图片描述
导出到 Streamlit。先安装streamlit,如下:

pip install streamlit 

在这里插入图片描述
安装完成后,您可以通过运行streamlit version来检查Streamlit的版本信息。

streamlit version

在这里插入图片描述
Streamlit 是一个 Python 库,它简化了创建可在任何地方共享和部署的交互式数据应用程序的过程。 要将 Lux 与 Streamlit 集成,您可以使用 Streamlit 组件包装 HTML 小部件输出。

新建app.py:

import streamlit as st
import streamlit.components.v1 as components
from pathlib import Path
import pandas as pd
import luxdef app():st.title('爱看书的小沐!2024!')st.write('Check out these cool visualizations!')# df = pd.read_csv("https://raw.githubusercontent.com/lux-org/lux-datasets/master/data/hpi.csv")df = pd.read_csv("hpi.csv")export_file = 'visualizations.html'html_content = df.save_as_html(output=True)components.html(html_content, width=800, height=350)app()

执行命令行命令:

streamlit run app.py localhost:8501

在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

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

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

相关文章

数据结构系列-空间复杂度讲解

🌈个人主页:会编程的果子君 💫个人格言:“成为自己未来的主人~” 空间复杂度 空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。 空间复杂度不是程序占用了多少bytes的空间,因…

【WEEK4】 【DAY4】AJAX第一部分【中文版】

【WEEK4】 【DAY4】AJAX第一部分【中文版】 2024.3.21 Thursday 目录 8.AJAX8.1.简介8.2.伪造ajax8.2.1.新建module:springmvc-06-ajax8.2.2.添加web支持,导入pom依赖8.2.2.1.修改web.xml8.2.2.2.新建jsp文件夹 8.2.3.新建applicationContext.xml8.2.4.…

分布式搜索引擎ES-RestClient查询文档快速入门

RestClient查询文档快速入门 文章目录 RestClient查询文档快速入门1.1、match_all1.2、全文检索查询1.3、精确查询1.4、复合查询-boolean query1.5、排序和分页1.6、高亮(解析查询高亮结果) 1.1、match_all package cn.mannor.hotel;import org.apache.…

I2C系列(三):软件模拟I2C读写24C04

一.目标 PC 端的串口调试软件通过 RS-485 与单片机通信,控制单片机利用软件模拟 I2C 总线对 EEPROM(24C04) 进行任意读写。 二.RS-485简述 在工业控制领域,传输距离越长,要求抗干扰能力也越强。由于 RS-232 无法消除…

开放签开源电子签章白皮书-简版

开放签开源电子签章白皮书-简版 一、摘要: 开放签电子签章团队源自于电子合同SaaS公司,立志于通过开源、开放的模式,结合团队十多年的行业经验,将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…

Pycharm小妙招之Anaconda离线配环境

Pycharm小妙招之Anaconda离线配环境———如何给无法联网的电脑配python环境? 1. 预备工作2. 电脑1导出包2.1 环境路径2.2 压缩py38导出至U盘 3. 电脑2导入包4. 验证是否导入成功4.1 conda查看是否导入4.2 pycharm查看能否使用 1. 预备工作 WINDOWS系统电脑1(在线)…

jmeter使用

jmeter是进行压力测试时候的关键的工具,对开发人员来说是重要的工具之一 一.安装 说明:因为jmeter是使用jave编写,并且从官网下载下来的是二进制source,需要java的运行环境即jdk ①去官网下载jdk的包https://www.oracle.com/java/technologies/downloads,之后再选好需要的jd…

利用Base64加密算法将数据加密解密

1. Base64加密算法 Base64准确来说并不像是一种加密算法,而更像是一种编码标准。 我们知道现在最为流行的编码标准就是ASCLL,它用八个二进制位(一个char的大小)表示了127个字符,任何二进制序列都可以用这127个字符表…

SpringBoot 文件上传(二)

上一节讲解了如何利用MultipartFile接收浏览器端上传的文件,这节讲解服务器端如何将文件保存到本地目录下,下节讲解服务端如何将文件保存在阿里云上。 本节需要解决两个难点: 文件重名问题文件大小限制问题 存储文件 首先解决如何存储文件…

Matlab|基于条件风险价值CVaR的微网动态定价与调度策略

目录 1 主要内容 模型示意图 电能交易流程 模型亮点 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序复现文章《A cooperative Stackelberg game based energy management considering price discrimination and risk assessment》,建立基于主从博弈的考虑…

HTML5和CSS3笔记

一:网页结构(html): 1.1:页面结构: 1.2:标签类型: 1.2.1:块标签: 1.2.2:行内标签: 1.2.3:行内块标签: 1.2.4:块标签与行…

Hive 数据迁移与备份

迁移类型 同时迁移表及其数据(使用import和export) 迁移步骤 将表和数据从 Hive 导出到 HDFS将表和数据从 HDFS 导出到本地服务器将表和数据从本地服务器复制到目标服务器将表和数据从目标服务器上传到目标 HDFS将表和数据从目标 HDFS 上传到目标 Hiv…

rider下ef core迁移

新建数据库 create database mockstu新建web项目 安装Microsoft.EntityFrameworkCore.SqlServer包 设置连接字符串 新建model using MockStuWeb.Models.EnumTypes; using System.ComponentModel.DataAnnotations;namespace MockStuWeb.Models {/// <summary>/// 学生…

SpringCloudAlibaba Nacos配置及应用

Nacos搭建及配置 nacos本机服务搭建 windows上搭建单机nacos&#xff1a; Releases alibaba/nacos GitHub 下载安装包 下载本地&#xff0c;解压&#xff0c;直接运行&#xff08;保证安装包的绝度路径只有英文字符&#xff0c;有中文会导致运行失败&#xff09;&#xff…

PHP 读取嵌入式数据 SQLite3

SQLite3 属于轻量级开源的嵌入式关系型数据库&#xff0c;但它支持 ACID(Atomicity,Consistency,Isolation,Durability) 事务。 SQLite Download Page: https://www.sqlite.org/download.html 第一步&#xff1a;在 php.ini 中开启 extensionsqlite3 第二步&#xff1a;连接数…

阿里云OSS存储的视频如何加水印

OSS是不能进行视频添加水印的&#xff0c;可以图片添加水印。 您可以在视频点播中进行配置&#xff1a; https://help.aliyun.com/zh/vod/user-guide/video-watermarks?spma2c4g.11186623.0.i2 原来的业务代码都是使用python 对oss的 视频进行上传 的,上传的视频路径已经保存到…

竞赛 opencv 图像识别 指纹识别 - python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器视觉的指纹识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&#xff0c;适…

局域网的学习

什么是局域网&#xff1f;_哔哩哔哩_bilibili 家里接入WIFI的设备&#xff0c;相互之间就组成了一个局域网。 设备接入路由器的方法有两种&#xff1a; 一种是通过路由器发射的无线信号进行无线接入。 另一种是借助路由器上的RJ45网口进行有线接入。 设备接入路由器后&…

Deconstructing Denoising Diffusion Models for Self-Supervised Learning

开头说点题外话&#xff1a;这篇可谓是大咖云集啊&#xff0c;刘壮、谢赛宁、何凯明这些耳熟能详的名字&#xff0c;并且这篇论文一些人也觉得分析特别到位&#xff0c;不愧是大佬视角&#xff0c;配得上“解构”两个字&#xff1b;很巧的是&#xff0c;本科阶段的团队导师也是…