echarts图表的应用

news2025/1/23 6:19:29

1、echarts的简介

echarts 是国内的一个图表应用插件,只需要下载echarts的js 在js中引入。
echarts 的官网:https://echarts.apache.org/zh/index.html
进去之后点击这里,
在这里插入图片描述
点击下载按钮,下载文件,下载后解压,将echarts-5.4.3\package\dist中的echarts.min.js 放入到项目路径
在这里插入图片描述
如我放在:
在这里插入图片描述

2、echarts的简单使用

查看官方文档,有快速使用案例,而且提供了各种图形。
1、下面展示一个折现图:
首先写个页面,分好区域,一块显示折线图,一块显示柱状图 ,一块显示饼状图。

{% extends 'layout.html' %}
{% load static %}

{% block content %}
     <div class="container">
    <div class="row">
        <div class="panel panel-default">
            <div class="panel-heading">折现图</div>
            <div class="panel-body">
                <div id="m3" style="width: 100%;height:300px;">
            </div>
        </div>
    </div>
    <div class="row" style="margin-top: 5px">
        <div class="col-xs-8">
            <div class="panel panel-default">
                <div class="panel-heading">柱状图</div>
                <div class="panel-body">
                  。。。。。
                    </div>
                </div>
            </div>

        </div>
        <div class="col-xs-4">
            <div class="panel panel-default">
                <div class="panel-heading">饼状图</div>
                <div class="panel-body">
                  。。。。
                </div>
            </div>
        </div>
    </div>
       </div>
{% endblock %}

{% block js %}
    <script src="{% static 'js/echarts.min.js' %}"></script>
    <script type="text/javascript">
    $(function (){
        initLine();
    })
    function initLine(){
        var myChart = echarts.init(document.getElementById('m3'));
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [
                {
                    data: [150, 230, 224, 218, 135, 147, 260],
                    type: 'line'
                }
            ]
        };
        myChart.setOption(option);
    }

    </script>
{% endblock %}

图形的数据都在option中设置,在这里修改数据,图形也会跟着变化。
option的内容在官网中都有提供,直接拿过来用就可以,只需要修改数据。
在这里插入图片描述
2、柱状图
跟折现图的应用是一样的,数据我们可以从后台获取。
通过ajax请求去后台或者数据,在展示
在视图函数中写一个方式,返回数据给前端

from django.shortcuts import render
from django.http import JsonResponse
def charts_bar(requset):
    x_data = ["1月","2月","3月","4月","5月","6月","7月"]
    series_data = [{
        "name": '研发部',
        "type": 'bar',
        "data": [15, 21, 36, 10, 10, 20,98]
    },
        {
            "name": '销售部',
            "type": 'bar',
            "data": [45, 211, 26, 18, 35, 60,12]
        },
    ]

    result = {
        "status": True,
        "x_data": x_data,
        "series_data": series_data
    }

    return JsonResponse(result)

前端代码

{% extends 'layout.html' %}
{% load static %}

{% block content %}
     <div class="container">
    <div class="row">
        <div class="panel panel-default">
            <div class="panel-heading">折现图</div>
            <div class="panel-body">
                <div id="m3" style="width: 100%;height:300px;">
            </div>
        </div>
    </div>
    <div class="row" style="margin-top: 5px">
        <div class="col-xs-8">
            <div class="panel panel-default">
                <div class="panel-heading">柱状图</div>
                <div class="panel-body">
                    <div id="main" style="width: 600px;height:400px;">

                    </div>
                </div>
            </div>

        </div>
        <div class="col-xs-4">
            <div class="panel panel-default">
                <div class="panel-heading">饼状图</div>
                <div class="panel-body">
                  。。。
                </div>
            </div>
        </div>
    </div>
       </div>
{% endblock %}

{% block js %}
    <script src="{% static 'js/echarts.min.js' %}"></script>
    <script type="text/javascript">
    $(function (){
        initBar();
    })

    function initBar() {
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
         // 指定图表的配置项和数据
        var option = {
            title: {
                text: 'ECharts 入门示例',
                left: "center"
            },
            tooltip: {},
            legend: {
                data: ['研发部','销售部'],
                bottom: 0
            },
            xAxis: {

            },
            yAxis: {},
            series: [

            ]
        };

        $.ajax({
            url: "/chart/bar/",
            type: "GET",
            dataType: "JSON",
            success:function (res){
                    if(res.status){
                        //将后台返回的数据设置到option中
                        option.xAxis.data = res.x_data;
                        option.series = res.series_data;

                         // 使用刚指定的配置项和数据显示图表。
                        myChart.setOption(option);
                    }
            }
        })
    }
    </script>
{% endblock %}

3、饼状图
一样的,找到饼状图的样例

{% extends 'layout.html' %}
{% load static %}

{% block content %}
     <div class="container">
    <div class="row">
        <div class="panel panel-default">
            <div class="panel-heading">折现图</div>
            <div class="panel-body">
                <div id="m3" style="width: 100%;height:300px;">
            </div>
        </div>
    </div>
    <div class="row" style="margin-top: 5px">
        <div class="col-xs-8">
            <div class="panel panel-default">
                <div class="panel-heading">柱状图</div>
                <div class="panel-body">
                    <div id="main" style="width: 600px;height:400px;">

                    </div>
                </div>
            </div>

        </div>
        <div class="col-xs-4">
            <div class="panel panel-default">
                <div class="panel-heading">饼状图</div>
                <div class="panel-body">
                     <div id="m2" style="width: 100%;height:400px;">
                </div>
            </div>
        </div>
    </div>
       </div>
{% endblock %}

{% block js %}
    <script src="{% static 'js/echarts.min.js' %}"></script>
    <script type="text/javascript">
    $(function (){   
        initPip();    
    })

    function initPip(){
         var myChart = echarts.init(document.getElementById('m2'));
         var  option = {
            title: {
                text: 'Referer of a Website',
                subtext: 'Fake Data',
                left: 'center'
            },
            tooltip: {
                trigger: 'item'
            },
            legend: {
                orient: 'vertical',
                bottom: 0
            },
            series: [
                {
                    name: 'Access From',
                    type: 'pie',
                    radius: '50%',
                    data: [
                        {value: 735, name: 'Direct'},
                        {value: 580, name: 'Email'},
                        {value: 484, name: 'Union Ads'},
                        {value: 300, name: 'Video Ads'}
                    ],
                    emphasis: {
                        itemStyle: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    }
                }
            ]
        };
         myChart.setOption(option);
    }

    </script>
{% endblock %}

页面效果图:
在这里插入图片描述

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

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

相关文章

如何卖 Click to WhatsApp 广告最有效

2022年&#xff0c;大多数直接面向消费者的品牌都面临相同挑战—— Facebook 和 Instagram 的广告成本大幅增加。Business Insider 报导指出&#xff0c;2021年 Facebook 广告每次点击的平均成本&#xff08;average cost per click&#xff09;达到0.974美元&#xff0c;按年升…

概念解析| 压缩感知:在稀疏的世界中寻找完整的信息

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:压缩感知(Compressed Sensing)。 压缩感知:在稀疏的世界中寻找完整的信息 TI - Research - Applications - Compressed Sensing 一、背景介绍 在信息爆炸的时代,我们每天都…

AWS EKS 集群自动扩容 Cluster Autoscaler

文章目录 一&#xff0c;需求工作需求说明 二&#xff0c;部署精简命令执行1&#xff0c;要求2&#xff0c;查看EC2 Auto Scaling groups Tag3&#xff0c;创建Serviceaccount需要的Policy&#xff0c;Role4&#xff0c;部署Cluster Autoscaler5&#xff0c;验证6&#xff0c;常…

Verilog同步FIFO设计

同步FIFO(synchronous)的写时钟和读时钟为同一个时钟&#xff0c;FIFO内部所有逻辑都是同步逻辑&#xff0c;常常用于交互数据缓冲。 异步FIFO&#xff1a;数据写入FIFO的时钟和数据读出FIFO的时钟是异步的(asynchronous) 典型同步FIFO有三部分组成: &#xff08;1&#xff0…

vue项目的实用性总结

1、mockjs 基本使用 ★ 安装&#xff1a;npm i mockjs。 在src/mock/index.js内容如下&#xff1a; import Mock from mockjs //制订拦截规则 Mock.mock(http://www.0313.com,get,你好啊)记得在main.js中引入一下&#xff0c;让其参与整个项目的运行。 只要发出去的是get类型…

印度货代专线【我国到印度专线有哪些方式】

随着全球贸易的不断发展&#xff0c;我国与印度之间的贸易往来也日益频繁。作为两个人口最多的国家之一&#xff0c;中国和印度之间的货物运输需求不断增长。为了满足这一需求&#xff0c;印度货代专线应运而生&#xff0c;为进出口商提供高效、可靠的货物运输服务。本文将探索…

零零信安:暗网分析报告——Part 4 商业黑客组织,“流星街”的原住

暗网&#xff0c;作为互联网的一部分&#xff0c;充满了神秘而又复杂的活动。更重要的是&#xff0c;其背后的主要参与者——商业黑客和各种有组织的犯罪集团&#xff0c;揭示了这是一个怎样的世界。本报告将试图带您了解这些原住民的身份、行为方式、商业逻辑、受害者以及他们…

JMeter接口自动化测试实例—JMeter引用javaScript

Jmeter提供了JSR223 PreProcessor前置处理器&#xff0c;通过该工具融合了Java 8 Nashorn 脚本引擎&#xff0c;可以执行js脚本以便对脚本进行前置处理。其中比较典型的应用就是通过执行js脚本对前端数据进行rsa加密&#xff0c;如登录密码加密。但在这里我就简单的应用javaScr…

No view found for id 0x7f0901c3 for fragment解决以及线上bug排查技巧

情景再现 开发这么久&#xff0c;不知道你们是否也经历过这样的情况&#xff0c;测试或者用户&#xff0c;反馈app闪退&#xff0c;结果你自己打开开发工具&#xff0c;去调试&#xff0c;一切正常&#xff0c;然后闪退还是存在&#xff0c;只是在开发环境中不能重现。这种情况…

11 - git stash 开发中临时加塞了紧急任务怎么处理

查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;GIT常用场景- 目录 文章目录 开发中临时加塞了紧急任务怎么处理 开发中临时加塞了紧急任务怎么处理 当你此时工作区已经修改了 Readme 文件&#xff0c;然后突然需要解决其他问题&#xff08;紧急问题、新任务&…

ML-fairness-gym入门教学

1、ML-fairness-gym简介 ML-fairness-gym是一个探索机器学习系统长期影响的工具。可以用于评估机器学习系统的公平性和评估静态数据集上针对各种输入的误差度量的差异。开源网站&#xff1a;GitHub - google/ml-fairness-gym 2、安装ML-fairness-gym&#xff08;Windows&…

【贪心】CF1841 D

Codeforces 题意&#xff1a; 思路&#xff1a; 首先模拟一下样例 并没有发现什么 那么就去考虑特殊情况&#xff0c;看看有没有什么启发 考虑一个大区间包含所有小区间的情形&#xff0c;这种情况就是在这么多区间中找出两个区间 换句话说&#xff0c;这么多区间组成一个…

容器虚拟化基础之cgroups/LXC

"你真的&#xff0c;自由了~" 容器虚拟化基础之Cgroups: (1) 什么是cgroups cgroups是 linux 内核提供的一种机制&#xff0c; 这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内&#xff0c;从而为系统资源管理提供一个统一…

嵌入式电火花线切割控制系统总体设计

2.1 电火花线切割机床的特点与结构 电火花线切割加工&#xff08; Wire Cut EDM &#xff09;是特种加工中电火花加工方式的一种&#xff0c;是 直接利用电能或热能进行加工的工艺方法。加工基本原理是利用在导丝架固定的轨 道上连续移动电极丝&#xff08;钼丝 / 铜丝&…

Spring框架【IOC详解】

目录 一、前言 1.1.Spring简介 1.2.使用Spring的优点 1.3.Spring组成 二、Spring之IOC详解 2.1.IOC理论推导 2.1.1.IOC分析实现 2.1.2.IOC本质 2.2.Maven项目导入Jar包 2.3.依赖注入 2.3.1.Set注入&#xff08;重点&#xff09; 2.3.2.构造注入 无参构造创建对象 …

STM32F4X-GPIO输入功能使用

STM32F4 GPIO输入模式配置 上一节讲GPIO的时候说到了将GPIO设置成输出模式&#xff0c;并通过将GPIO的电平拉高拉低控制LED灯的例程。GPIO除了用作输出功能之外&#xff0c;还可以用作输入功能。最常用的就是检测按键的输入电平。 硬件设计 本章的硬件是基于正点原子的探索者…

UI设计师个人工作总结范文精选

UI设计师个人工作总结范文(一) 在忙忙碌碌中&#xff0c;2019年又将过去了&#xff0c;在这一年当中&#xff0c;设计部无论是在运作模式、设计产值、还是人员结构&#xff0c;各方面的变化都比较大。 设计部的运作模式是从7月底开始进行调整的&#xff0c;以独立承包制的运营方…

Linux / Ubuntu磁盘扩容

测试时遇到了shell脚本执行错误的问题&#xff0c;找到脚本编写的楼哥&#xff0c;才发现自己给虚拟机的磁盘已经满了&#xff0c;没想到啊&#xff0c;业务的解压操作&#xff0c;这么费磁盘&#xff0c;那就需要进行磁盘的扩展&#xff0c;记录一下 1、首先停掉虚拟机&#…

只需四步,让Vscode连接远程服务器中的docker容器进行开发

0. 前提条件 本地windows或其他环境中安装了Vscode&#xff0c;Vscode中安装了Remote-SSH拓展&#xff08;用于利用SSH连接docker容器&#xff09;远程服务器中安装了docker&#xff0c;并且拉取了自己需要的镜像&#xff08;image&#xff09;有root权限&#xff0c;能使用su…