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

news/2024/5/19 4:26:31 标签: python, lux, pandas, streamlit, matplotlib, jupyter, notebook

文章目录

  • 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代码如下:

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
    在这里插入图片描述
python">df.intent = ["AverageCost","SATAverage"]
df

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.2 入门示例2

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

python">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”,如下:
在这里插入图片描述

python">vis = df.exported[0]
vis

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

python">df.intent = vis
df

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

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

在这里插入图片描述

python">print (vis.to_matplotlib())

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

python">df.save_as_html()

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

pip install streamlit 

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

streamlit version

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

新建app.py:

python">import streamlit as st
import streamlit.components.v1 as components
from pathlib import Path
import pandas as pd
import lux

def 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()

执行命令行命令:

python">streamlit run app.py localhost:8501

在这里插入图片描述

结语

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


http://www.niftyadmin.cn/n/5448734.html

相关文章

设计模式之状态模式(一)

设计模式专栏: http://t.csdnimg.cn/4Mt4u 目录 1.概述 2.结构 3.实现 4.总结 1.概述 状态模式( State Pattern)也称为状态机模式( State Machine pattern), 是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类, 属于行为型模式。 在状…

Spire.pdf Spire.Doc Spire.Xls最新版Crack

对应的dll版本如图 生成pdf代码 using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing;PdfDocument pdfDocumnet new PdfDocument(); for (int i 1; i < 30; i) {PdfPageBase page pdfDocumnet.Pages.Add(PdfPageSize.A4);PdfTrueTypeFont font new PdfTru…

电脑不能读取移动硬盘,但是可以读取U盘解决方法

找到此电脑 右键设备管理器&#xff0c;找到其中的通用串行总线控制器。 注意&#xff0c;凡是插入到电脑当中不能读取的U盘或者移动硬盘&#xff0c;都会在通用串行总线控制器当中显示为USB大容量存储设备 鼠标选中“USB大容量存储设备”&#xff0c;右键卸载它。此时&#x…

blender插件笔记

目录 文件拖拽导入 smpl导入导出 好像可以导入动画 smpl_blender_addon导入一帧 保存pose 导入导出完整代码 文件拖拽导入 https://github.com/mika-f/blender-drag-and-drop 支持格式&#xff1a; *.abc*.bvh*.dae*.fbx*.glb*.gltf*.obj*.ply*.stl*.svg*.usd*.usda*.…

【boost_search搜索引擎】2.正排索引和倒排索引

首先&#xff0c;要制作搜索引擎&#xff0c;我们首先要了解&#xff0c;什么是正排索引&#xff0c;什么是倒排索引&#xff0c;这是一个搜索引擎的关键。 1.正排索引 正排索引&#xff0c;其实就是我们的每一个文档&#xff0c;对应一个文档id。 正如vector容器一样&#xf…

增强现实与虚拟现实中的大模型应用:沉浸式体验的创新

增强现实与虚拟现实中的大模型应用&#xff1a;沉浸式体验的创新 1. 背景介绍 随着技术的进步&#xff0c;增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;正在成为越来越受欢迎的沉浸式体验方式。大模型&#xff0c;如神经网络和深度学习模型&…

突破编程_C++_C++11新特性(多线程编程的基础知识)

1 多线程编程基础 1.1 多线程编程概述 在 C11 之前的版本中&#xff0c;C 标准库并没有直接支持多线程编程&#xff0c;这导致开发者在编写多线程程序时通常需要依赖于平台特定的 API 或者第三方库。然而&#xff0c;随着计算机硬件的发展和多核处理器的普及&#xff0c;多线…

uniapp页面嵌套其他页面的实现

功能: 类似于一个drawer&#xff0c;当主页面加载的时候会一并加载url对应的组件&#xff0c;当点击后以drawer形式显示组件里面的内容&#xff0c;可动画。 <navigator url"/pages/my/components/personalMessage" slot"right"><view><di…