【Web开发】Python实现Web图表功能(D-Tale编译打包)

news2024/12/23 16:09:55

在这里插入图片描述

🍺基于Flask实现服务器的相关文章如下🍺:

  1. 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈
  2. 🎈【Web开发】Python实现Web服务器(Flask案例测试)🎈
  3. 🎈【Web开发】Python实现Web服务器(Flask部署上线)🎈
  4. 🎈【Web开发】Python实现Web服务器(Flask+Tornado+nginx)🎈
  5. 🎈【Web开发】Python实现Web服务器(Ubuntu下安装Flask)🎈
  6. 🎈【Web开发】Python实现Web服务器(Ubuntu下打包Flask)🎈
  7. 🎈【Web开发】Python实现Web服务器(Ubuntu下调试Flask)🎈
  8. 🎈【Web开发】Python实现Web服务器(Ubuntu下Flask使用MySQL)🎈

🍺基于Python实现Web图表功能的相关文章如下🍺:

  1. 🎈【Web开发】Python实现Web图表功能(D-Tale入门)🎈
  2. 🎈【Web开发】Python实现Web图表功能(D-Tale编译)🎈
  3. 🎈【Web开发】Python实现Web图表功能(pyecharts,Flask)🎈
  4. 🎈【Web开发】Python实现Web图表功能(Grafana)🎈

文章目录

  • 1、简介
    • 1.1 dtale简介
    • 1.2 dtale在线例子
  • 2、直接安装
    • 2.1 安装虚拟环境
    • 2.2 安装dtale库
  • 3、后端编译
  • 4、前端编译
  • 5、其他
    • 5.1 代码测试
    • 5.2 Running tests
    • 5.3 Linting
    • 5.4 Formatting JS
    • 5.5 Adding Language Support
    • 5.6 Global State/Data Storage
  • 6、dtale-desktop
    • 6.1 直接安装
    • 6.2 运行
    • 6.3 代码编译
  • 结语

1、简介

1.1 dtale简介

D-Tale is the combination of a Flask back-end and a React front-end to bring you an easy way to view & analyze Pandas data structures. It integrates seamlessly with ipython notebooks & python/ipython terminals. Currently this tool supports such Pandas objects as DataFrame, Series, MultiIndex, DatetimeIndex & RangeIndex.

https://github.com/man-group/dtale

D-Tale 是 Fl​​ask 后端和 React 前端的组合,为您提供查看和分析 Pandas 数据结构的简单方法。它与 ipython 笔记本和 python/ipython 终端无缝集成。目前该工具支持 DataFrame、Series、MultiIndex、DatetimeIndex 和 RangeIndex 等 Pandas 对象。
在这里插入图片描述
D-Tale 是 SAS 到 Python 转换的产物。最初是基于 SAS功能 insight 的 perl 脚本包装器,现在是基于 Pandas 数据结构的轻量级 Web 客户端。

1.2 dtale在线例子

  • Live Demo
    在这里插入图片描述

  • Animated US COVID-19 Deaths By State
    在这里插入图片描述

  • 3D Scatter Chart
    在这里插入图片描述

  • Surface Chart
    在这里插入图片描述

  • Network Analysis
    在这里插入图片描述

2、直接安装

2.1 安装虚拟环境

cd C:\Users\tomcat\Desktop\mystudy
python -m venv myvenv

在这里插入图片描述
激活python虚拟环境如下:

myvenv\Scripts\activate

在这里插入图片描述
退出python虚拟环境如下:

deactivate

在这里插入图片描述

# 导出
pip freeze > requirements.txt #可能会丢失依赖包的版本号
# 或者
pip list --format=freeze> requirements.txt

# 导入
pip install -r requirements.txt
#临时换源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

# 只生成我们当前Python项目中所用到的依赖包及其版本号,而不是像 pip freeze 方式一样把所有包全部列出生成。
pip install pipreqs
pipreqs C:\Users\tomcat\Desktop\mystudy\dtale --encoding=utf-8 --force

2.2 安装dtale库

D-Tale支持多种文件格式,包括CSV、TSV、XLS、XLSX。它是一个以Flask 为后端,React 作为前端构建的,通过pip安装即可。

# 临时使用清华源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 永久修改镜像源
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 网络不好则使用这个
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

# or PyPI
pip install dtale

在这里插入图片描述
命令行输入如下:

dtale
# or
dtale --open-browser

在这里插入图片描述
浏览器访问如下地址:

http://desktop-bj0ed3d:40000/

在这里插入图片描述

3、后端编译

git clone git@github.com:man-group/dtale.git
# or
git clone https://github.com/man-group/dtale.git

在这里插入图片描述
在这里插入图片描述
编译源码如下:

python setup.py develop

在这里插入图片描述
看来是报错了,试试如下:

pip install pypandoc

在这里插入图片描述
然后再来试试编译dtale源码如下:

python setup.py develop

在这里插入图片描述
哈哈,还是报错了,不过是其他错误信息。再试试如下:

pip install pypandoc==1.6.3

在这里插入图片描述
继续测试安装如下:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python setup.py develop

在这里插入图片描述
在这里插入图片描述

终于编译成功了。

pip list

在这里插入图片描述

# start the server
# dtale --csv-path /home/jdoe/my_csv.csv --csv-parse_dates date
dtale --csv-path d:\\test\\calcpara_dic.csv

在这里插入图片描述
浏览器访问:

http://desktop-bj0ed3d:40001/

在这里插入图片描述
在这里插入图片描述

访问接口报错了,先不管,往下一节看。

4、前端编译

在这里插入图片描述

$ cd frontend
$ npm install
# 1) a persistent server that serves the latest JS:
$ npm run watch
# 2) or one-off build:
$ npm run build

在这里插入图片描述
在这里插入图片描述
上面的命令执行之后,会在dtale/static文件中会新建两个文件夹dist和dash。
在这里插入图片描述
在执行命令:

dtale --csv-path d:\\test\\calcpara_dic.csv --port 40001

在这里插入图片描述

dtale服务成功运行。
我们修改一下上面前端页面中关于窗口的信息,比如增加作者"爱看书的小沐"的信息:
在这里插入图片描述
在执行了npm相关命令之后,再次执行dtale启动命令如下:

dtale --csv-path d:\\test\\calcpara_dic.csv --port 40001

在这里插入图片描述
我们修改一下上面前端页面中主菜单删减,以及标题如下:
在这里插入图片描述

5、其他

5.1 代码测试

(1)两种启动 D-Tale 的方式:

  • 将DataFrame对象传递给 D-Tale 函数,在 Jupyter 单元中实例化 GUI。
  • 不导入DataFrame对象的情况下初始化 D-Tale,显示为一个带有 GUI 的交互菜单来加载数据并提供各种其他选项。
import dtale
dtale.show(open_browser=True)
import dtale
import pandas as pd

if __name__ == '__main__':
      dtale.show(pd.DataFrame([1,2,3,4,5]), subprocess=False)

(2)数据的导入有几种方式:

  • 从文件加载数据
  • 从网站加载数据。需要传递网站的链接,可以从中获取 CSV、JSON、TSV 或 Excel 等文件。
  • 加载示例数据集。这些数据集可能需要一些后台下载才能从服务器获取数据集。

5.2 Running tests

#The usual npm test command works:
npm test

#You can run individual test files:
npm run test -- static/__tests__/dtale/DataViewer-base-test.jsx

在这里插入图片描述

5.3 Linting

使用 npm run lint 校验代码的编码规范。

# You can lint all the JS and CSS to confirm there's nothing obviously wrong with it:
$ npm run lint

# You can also lint individual JS files:
$ npm run lint-js-file -s -- static/dtale/DataViewer.jsx

在这里插入图片描述

5.4 Formatting JS

# You can auto-format code as follows
$ npm run format

在这里插入图片描述

5.5 Adding Language Support

目前D-Tale同时支持英文和中文,但其他语言也很乐意得到支持。要添加另一种语言,只需打开包含以下内容的拉取请求:

  • 复制并翻译以下JSON英语JSON文件中的值,并将它们保存到与每个文件相同的位置。
  • 请将这些文件的名称设置为您要添加的语言的名称(当前为英文-> en,中文-> cn)
  • 请务必保留英文key,这很重要。

5.6 Global State/Data Storage

如果D-Tale在具有多个python进程的环境中运行(例如:在运行gunicorn的Web服务器上),则很可能会遇到状态不一致的问题。开发人员可以通过配置 D-Tale 用于存储数据的系统来解决此问题。详细文档可在此处获得:数据存储和管理全局状态。

6、dtale-desktop

Build a data visualization dashboard with simple snippets of python code

前端是用 react 编写的,混合了 ant 设计和样式组件。

后端是用python编写的,它实际上由两个应用程序组成,它们侦听不同的端口。主要的是一个异步 FastAPI 应用程序,它负责与仪表板通信、与文件系统交互以及执行用户定义的代码来获取/转换数据。它可以通过将提交的代码保存为持久文件,然后使用 importlib.util 构建然后导入生成的模块来做到这一点。第二个应用程序用于运行 dtale 实例,它是一个同步烧瓶应用程序。

https://pypi.org/project/dtaledesktop/
https://openbase.com/python/dtaledesktop
在这里插入图片描述

6.1 直接安装

pip install dtaledesktop

在这里插入图片描述

6.2 运行

Running it from the command line:

dtaledesktop

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Running it from a python script:

import dtale_desktop
dtale_desktop.run()

6.3 代码编译

First, you’ll want to clone the repo and install the python dependencies:

$ git clone https://github.com/phillipdupuis/dtale-desktop.git
$ cd dtale-desktop
$ python setup.py develop

Then you’ll need to install the javascript dependencies and build the react app:

$ cd dtale_desktop/frontend
$ npm install
$ npm run build

And now you should be able to launch it like so:

$ python dtale_desktop/app.py

结语

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

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

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

相关文章

MySQL中SQL语句执行顺序及优化

概要 本文章主要是分析SQL语句关键字的执行顺序,以及在每一个阶段我们有哪些优化,可以去做哪些优化,和注意事项。 1. SQL语句关键字的执行顺序 通常我们执行一条SQL语句它的执行顺序如下 selectfrom.joinwheregroup byhavingorder by聚合函…

Vitepress(二):部署

什么是Git Page github Pages可以被认为是用户编写的、托管在github上的静态网页。 github pages有300M免费空间,资料自己管理,保存可靠; 实现项目自动推送到Github 首先新建一个自己的项目用于存放github pages的内容 格式是 自己githu…

《元宇宙2086》影视工业弯道超车?《科普时报》刊登采访报道

科普时报-第267期 2023年01月06日 星期五 第05版:书香文史刊载了题目为“《元宇宙2086》影视工业弯道超车?”的关于高泽龙的采访报道。全文内容如下:在2022年中国金鸡百花电影节暨第35届中国电影金鸡奖期间,我创作的中国首部元宇宙…

Linux开发工具的使用(二)

文章目录Linux开发工具的使用(二)1.Linux编译器gcc/g使用1.1 背景1.2 验证每一个阶段的效果1.2.1 预处理1.2.2 编译1.2.3 汇编1.2.4 链接1.2.5 记忆1.3 链接的理解1.3.1 ldd指令1.3.2 预备1.3.3 动态库和静态库感性理解到实际理解2.Linux项目自动化构建工…

吴恩达《机器学习》——SVM支持向量机

SVM支持向量机1. 线性SVM1.1 从Logistic回归出发1.2 大边界分类与SVM1.3 调整正则化参数2. 非线性SVM(高斯核函数)2.1 高斯核2.2 非线性分类2.3 参数搜索数据集、源文件可以在Github项目中获得 链接: https://github.com/Raymond-Yang-2001/AndrewNg-Mac…

Java编程基础

1,基本概念 (1)JDK、JRE、JVM的关系: JDK:Java Development Kit,Java开发工具包JRE: Java Runtime Environment,Java运行环境JVM:Java Virtual Machine,Java虚拟机JDK包…

2023年山东最新建筑八大员(电气施工员)模拟真题题库及答案

百分百题库提供建筑八大员(电气)考试试题、建筑八大员(电气)考试预测题、建筑八大员(电气)考试真题、建筑八大员(电气)证考试题库等,提供在线做题刷题,在线模拟考试&…

【UE4 第一人称射击游戏】22-拾取弹药

上一篇:【UE4 第一人称射击游戏】21-添加动态扩散准心本篇效果:当角色触碰到弹药箱后,玩家的后备弹夹就会多50发子弹,并且触碰到弹药箱后,会播放相应的声音和粒子特效。步骤:新建一个蓝图类(父类…

MySQL-5.7 innodb在线DDL操作(增删改索引、列、外键、表、外键)

基本概念 在开始阅读前,先熟悉下以下概念,以便更加方便理解。 DML DML(Data Manipulation Language)数据操作语言-数据库的基本操作,SQL中处理数据等操作统称为数据操纵语言,简而言之就是实现了基本的“增删改查”操作…

jenkins中错误总结

每次使用jenkins都会遇到不同的bug,接下来我们看一下这几个 libXrender.so.1: cannot open shared object file: No such file or directory 接下来我们看一下解决方案,一步一步安装好就可以了 yum install ksh -y yum install libXext.so.6 -y yum install libX…

案例分析 - 考查点总览

个人总结,仅供参考,欢迎加好友一起讨论 系分 - 案例分析 - 总览知识点 往年案例一览 一般情况下,往下数5、6年的题目出题形式,具有参考意义 年份试题一试题二试题三试题四试题五2022年系统分析与建模[结构化与面向对象分析、用例…

MySQL (四)------DML操作表记录-增删改【重点】DQL操作表记录-查询【重点】

DML操作表记录-增删改【重点】 准备工作: 创建一张商品表(商品id,商品名称,商品价格,商品数量.) create table product(pid int primary key auto_increment,pname varchar(40),price double,num int ); 1.1 插入记录 1.1.1 语法 方式一: 插入指定列, 如果没有把这个列进行列…

联合证券|2022年逾200家企业IPO“撤单”,谁在“临阵脱逃”?

刚刚过去的2022年,A股IPO募集资达5870亿元,创下前史新高。不过,也有不少“带病闯关”的IPO项目遇阻,计算数据显现,2022年A股IPO共有234家企业撤单,创9年以来最大撤回潮。 谁在惊惶万状? 2022年…

LeetCode[剑指offer 40]最小的k个数

难度:简单 题目: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1: 输入:arr [3,2,1], k 2 输出:[…

C 语言的 互斥锁、自旋锁、原子操作

今天不整 GO 语言,我们来分享一下以前写的 C 代码,来看看 互斥锁,自旋锁和原子操作的 demo 互斥锁 临界区资源已经被1个线程占用,另一个线程过来访问临界资源的时候,会被CPU切换线程,不让运行后来的这个线…

基础算法(二)——归并排序

归并排序 介绍 归并排序是一种复杂度O(nlog(n)nlog(n)nlog(n))的排序算法,并且在任何情况下都是,但是它不是原地算法,即需要额外存储空间 其原理是,先将区间均匀分成左右两半,然后再对左右两半继续二分,…

Large Language Models Are Reasoning Teachers

Paper name Large Language Models Are Reasoning Teachers Paper Reading Note URL: https://arxiv.org/pdf/2212.10071.pdf twitter 宣传: https://twitter.com/itsnamgyu/status/1605516353439354880 TL;DR 提出了 Fine-tune-CoT 方法,旨在利用非…

Java --- JVM对象内存布局与访问定位

目录 一、对象内存布局 1.1、对象头(Header) 1.1.1、运行时元数据(Mark Word) 1.1.2、 类型指针 1.2、实例数据(Instance Date) 1.3、对齐填充(Padding) 二、对象访问定位 一、对象内存布局 1.1、对象头(Header) 1.1.1、运行时元数据(Mark Word) 1、哈希值(HashCode) 2、G…

【高级人工智能】国科大《高级人工智能》符号主义笔记

国科大《高级人工智能》罗老师部分——符号主义笔记 罗老师上课很有意思,但是这部分内容还是挺难理解的,需要仔细思考今年考试题目这部分跟往年不一样,老师讲的重点(A搜索归结原理)也没考😅 文章目录几个概…

FFmpeg

介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量&…