提升工作效率,领导都夸的开源数据可视化工具

news2024/11/28 14:37:21

echarts官网有很多好看的图例,怎么结合起来放到自己的项目中呢?比如这种酷酷的首页:

这种看起来美观又大方,自己要是能用上就好了。

其实这是可以的,echarts上有现成的图例和示例代码,咱们只要改改数据源就可以了,至于好看的布局,比如上图这种,我们直接借鉴过来不就可以了。

以公司网页为例,简单介绍一个例子,下图这么多网址的巡检如何用一个图例来展示。

可以把它们写到文件里:

先创建一个文件,比如叫config.cfg

[url]
优酷 = http://www.youku.com/
错误网址 = http://www.111.cn/

安装configparser模块

pip install configparser

读取这些网址

import configparser
cfg = configparser.ConfigParser()
cfg.read('config.cfg',encoding='utf-8')
urls = cfg.items('url')
print(urls)

结果如下:

[('优酷', 'http://www.youku.com/'), ('错误网址', 'http://www.111.cn/')]

echarts官网找图

接下来,怎么展示网站的状态码是否为200呢?

echarts上找了一下,看到一个“极坐标柱状图”,很适合这种判断True or False的场景,

比如网页状态码是否为200,是返回1,否返回0,然后将echarts的数据源替换成我们的就是这种效果:

数值为1(代表正常)的条目会显示蓝条,0为异常则用红色文字打印出来,整体巡检效果如下:

检查url

requests模块判断状态码是否为200

import requests
def check_url(url):
    try:
        r = requests.get(url, timeout=10)
        return r.status_code
    except Exception as e:
        return e

config.cfg读到的网址,利用check_url函数检查完放到一个列表中

urls_state = []
for url in urls:
    status_code = check_url(url[1])
    if status_code == 200:
        urls_state.append([0,1])
    else:
        urls_state.append([1, 1,url[0]+' ConnectTimeout'])

结果如下:

[
 [0, 1],
 [1, 1, '优酷 ConnectTimeout'],
 [0, 1],
 [1, 1, '错误网址 ConnectTimeout']
]

把这些信息返回给前端

from rest_framework.views import APIView

class get_urls(APIView):
    def get(request,*args,**kwargs):
        urlsState = check_url.main()

        #网页的名字列表
        cities = ['公司主页', 'maas', 'maas1', 'maas2', 'maas3', 'maas4', '1小猫咪', '2小猫咪', '3小猫咪', '4小猫咪', '5小猫咪', '6小猫咪', '7小猫咪', '8小猫咪', '9小猫咪','10小猫咪','11小猫咪','12小猫咪', 'maas4','maas5', 'maas6','maas7', 'maas8', 'maas9', 'maas10', 'maas11','maas15', 'maas13', 'maas14', 'maas', '数据可视化系统', 'maas', 'maas', 'x1', 'maas','maas']
        return JsonResponse({'data': {
            'urlsData':{'name':'网页','urlsState':urlsState,'cities':cities},
        }})

这样前端在判断的时候,如果某个url信息的长度为3,说明有错误信息

urlsState.forEach(key => {
    if (key.length == 3) {
    this.echartData.urls.info.push(key[2] + '\n')
    }
})

小结

这是一个很好的例子:

  • 前后端分离

  • 动态更新echarts数据

  • 用到DjangoRESTframework

更重要的是通过合并第1、2步,从检查到展示能一步到位,领导见了直夸有想法。

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

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

相关文章

华为防火接与二层交换机对接配置VLAN上网设置

拓扑图 一、防火墙设置 1、G1/0/0接口设置IP&#xff0c;G1/0/1接口切换二层口设置VLAN&#xff0c;G1/0/0 桥接了本地无线网卡来模拟外网地址 <USG6000V1>sys [USG6000V1]sys FW1 [FW1]un in en# 设置外网IP [FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip addr 192.1…

ORB-SLAM2 --- LocalMapping::SearchInNeighbors函数

0.函数更新内容 仅对地图点进行融合。 1.函数作用 检查并融合当前关键帧与相邻帧&#xff08;两级相邻&#xff09;重复的地图点。 2.函数步骤 Step 1&#xff1a;获得当前关键帧在共视图中权重排名前nn的邻接关键帧 Step 2&#xff1a;存储一级相邻关键帧及其二级相邻关键帧 将…

Java变量的作用域:静态变量、全局变量和局部变量

变量的作用域规定了变量所能使用的范围&#xff0c;只有在作用域范围内变量才能被使用。根据变量声明地点的不同&#xff0c;变量的作用域也不同。根据作用域的不同&#xff0c;一般将变量分为不同的类型&#xff1a;成员变量和局部变量。下面对这几种变量进行详细说明。成员变…

代码随想录训练营第四十二天

1.背包问题 1.1 01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 1.1.1 用动态规划的方法解决------二维dp数组01背包 ①确定dp…

学一下这个60秒的男人

程序员求职简历&#xff0c;项目经验怎么写&#xff1f;免费修改简历、提供模板并内部推荐今天想跟大家聊一下这个“60秒”的男人。10月21日&#xff0c;罗辑思维发文&#xff1a;《罗胖60秒&#xff1a;10年期满&#xff0c;今日告别》。10年前&#xff0c;罗振宇开始干一件事…

智能防雷,智能防雷系统的应用研究方案

“智慧智能防雷”是近年来防雷界提出的一个全新的防雷理念&#xff0c;是防雷业发展的趋势。所谓“智慧智能防雷”&#xff0c;是将大数据分析、云存储、人工智能、移动互联网和物联网技术融入到传统防雷措施中&#xff0c;并通过软、硬件系统的集成&#xff0c;实现对特定的区…

企业微信收款后可以进行退款吗?如何操作?

很多企业使用企业微信运营&#xff0c;就是看中了企业微信对外收款的功能&#xff0c;它不仅简化了转账步骤&#xff0c;而且可以在必要时直接完成退款&#xff0c;操作简单方便。前言随着企业微信的普及度&#xff0c;越来越多的企业认识到企业微信运营功能的强大&#xff0c;…

带你了解2023新版本Internet Download Manager有哪些新功能优势

作为一款体积只有10M的下载软件&#xff0c;IDM却常年霸占着各软件评测榜的前列。它的界面简洁清爽&#xff0c;使用过程中无弹窗、无广告&#xff0c;小小的体积竟能将下载速度提升5倍&#xff01;该软件一进入中国市场&#xff0c;便受到了广大用户的追捧&#xff0c;被大家亲…

2023年留学基金委(CSC)联合培养博士研究生项目解读及建议

近日&#xff0c;国家留学基金委&#xff08;CSC&#xff09;公布了2023年国家建设高水平大学公派研究生项目&#xff0c;该项目分为两部分&#xff0c;1.申请攻读博士学位研究生&#xff1b;2.申请联合培养博士研究生。本文知识人网小编仅就联合培养博士研究生部分进行解读&am…

【生信】R语言进行id转换的方法(附可直接使用代码)

本文我都默认已经下载好了表达矩阵exp了哦 代码都是直接给出来了&#xff0c;需要修改的地方我进行了标记 一般只要修改一下都能直接用了 方法一&#xff1a;下载平台数据以得到对应信息 然后进入官网https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi&#xff0c;在这里我以G…

【数据结构】4.4 数组

4.4.1 数组的定义 数组&#xff1a; 按照一定格式排列起来的&#xff0c;具有相同类型的数据元素的集合。 一维数组&#xff1a; 若线性表中的数据元素为非结构的简单元素&#xff0c;则称为一维数组。逻辑结构&#xff1a;线性结构&#xff0c;固定长度的线性表。声明格式…

如何学习微服务架构?(项目学习)

哪些项目适合使用微服务架构&#xff1f;对于一般的公司来说&#xff0c;微服务的实践有着很大的技术挑战&#xff0c;所以并不是所有的公司都适合将整体架构拆分成微服务架构。一般来说&#xff0c;微服务架构更适合于未来具有一定扩展复杂度、具有大量增量用户期望的应用&…

最新综述:基于语言模型提示学习的推理

©PaperWeekly 原创 作者 | OE-Heart引言推理能力是人类智能的核心能力之一。随着预训练技术的不断发展&#xff0c;大模型辅之以提示学习&#xff08;如 Chain-of-Thought Prompting [1]&#xff09;涌现出一系列的惊人的推理能力&#xff0c;引起了学术界、工业界学者的…

动态规划——数位dp

数位dp 文章目录数位dp概述题目特征基本原理计数技巧模板例题度的数量思路代码数字游戏思路代码不要62思路代码概述 数位是指把一个数字按照个、十、百、千等等一位一位地拆开&#xff0c;关注它每一位上的数字。如果拆的是十进制数&#xff0c;那么每一位数字都是 0~9&#xf…

unity 前向渲染 渲染阴影原理

下面情况默认是 前向渲染路径&#xff0c;场景中平行光开启了阴影方式原理备注ShadowMap把相机放到光源的位置&#xff0c;那么场景中该光源的阴影区域就是那些相机看不到的位置得到的是&#xff1a;场景中距离光源最近的表面位置&#xff08;深度信息&#xff09;unity中专门的…

一个基于SpringBoot+vue的学生信息管理系统详细设计

一个基于SpringBootvue的学生信息管理系统详细设计 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

【docker08】本地镜像发布到阿里云

本地镜像发布到阿里云流程 1.流程 2.镜像的生成方法 基于当前容器创建一个新的镜像&#xff0c;新功能增强命令&#xff1a; docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]] 3.将本地镜像推送到阿里云 3.1本地镜像素材原型 3.2阿里云开发者平台 进入阿里云找到控制台进…

Word控件Spire.Doc 【Table】教程(2):如何设置Word表格列宽

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

CV中一些常见的特征点

Harris、SIFT、SURF、ORB特征点总结本篇博客介绍一些常见的特征点。Brief描述子&#xff1a;编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;编辑切换为居…

基于JavaSpringboot+Vue实现前后端分离房屋租赁系统

基于JavaSpringbootVue实现前后端分离房屋租赁系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…