apexcharts数据可视化之圆环柱状图

apexcharts数据可视化之圆环柱状图

有完整配套的Python后端代码。

本教程主要会介绍如下图形绘制方式:

  • 基础圆环柱状图
  • 多组数据圆环柱状图
  • 图片背景
  • 自定义角度
  • 渐变
  • 半个圆环图
  • 虚线圆环图

基础圆环图

import ApexChart from 'react-apexcharts';

export function CircleChart() {
    // 数据序列
    const series = [70]
    // 图表选项
    const options = {
        chart: {
            height: 350,
            type: 'radialBar',
        },
        plotOptions: {
            radialBar: {
                hollow: {
                    size: '70%',
                }
            },
        },
        labels: ['实时进度'],
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

多值圆环图

import ApexChart from 'react-apexcharts';

export function MultiCircleChart() {
    // 数据序列
    const series = [44, 55, 67, 83]
    // 图表选项
    const options = {
        chart: {
            height: 350,
            type: 'radialBar',
        },
        plotOptions: {
            radialBar: {
                dataLabels: {
                    name: {
                        fontSize: '22px',
                    },
                    value: {
                        fontSize: '16px',
                    },
                    total: {
                        show: true,
                        label: '合计',
                        formatter: function (w) {
                            // 默认情况下,此函数返回所有序列的平均值。
                            // 下面只是展示自定义格式化器函数使用的一个示例
                            return 249
                        }
                    }
                }
            }
        },
        labels: ['苹果', '橘子', '香蕉', '葡萄'],
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

图片背景

import ApexChart from 'react-apexcharts';

export function ImageCircleChart() {
    // 数据序列
    const series = [67]
    // 图表选项
    const options = {
        chart: {
            height: 350, type: 'radialBar',
        },
        plotOptions: {
            radialBar: {
                // 雷达图图标
                hollow: {
                    margin: 15,
                    size: '70%',
                    image: '/clock.png',
                    imageWidth: 64,
                    imageHeight: 64,
                    imageClipped: false
                },
                dataLabels: {
                    name: {
                        show: false, color: '#fff'
                    }, value: {
                        show: true, color: '#333', offsetY: 70, fontSize: '22px'
                    }
                }
            }
        },
        // 使用图片填充
        fill: {
            type: 'image', image: {
                src: ['/4274635880_809a4b9d0d_z.jpg'],
            }
        },
        stroke: {
            lineCap: 'round'
        },
        labels: ['波动率'],
    }
    return (<div id="chart">
        <ApexChart options={options} series={series} type="radialBar" height={550}/>
    </div>)
}

在这里插入图片描述

自定义角度

import ApexChart from 'react-apexcharts';

export function CustomAngleCircleChart() {
    // 数据序列
    const series = [76, 67, 61, 90]
    // 图表选项
    const options = {
        chart: {
            height: 390,
            type: 'radialBar',
        },
        plotOptions: {
            radialBar: {
                offsetY: 0,
                startAngle: 0, // 开始角度
                endAngle: 270, // 结束角度
                hollow: { // 中间图标
                    margin: 5,
                    size: '30%',
                    background: 'transparent',
                    image: undefined,
                },
                dataLabels: {
                    name: {
                        show: false,
                    },
                    value: {
                        show: false,
                    }
                },
                barLabels: {
                    enabled: true,
                    useSeriesColors: true, // 使用和对应图表相同颜色
                    margin: 8,
                    fontSize: '16px',
                    formatter: function (seriesName, opts) {
                        return seriesName + ":  " + opts.w.globals.series[opts.seriesIndex]
                    },
                },
            }
        },
        colors: ['#1ab7ea', '#0084ff', '#39539E', '#0077B5'],
        labels: ['苹果', '橘子', '香蕉', '葡萄'],
        responsive: [{
            breakpoint: 480,
            options: {
                legend: {
                    show: false
                }
            }
        }]
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

渐变

import ApexChart from 'react-apexcharts';

export function GradientCircleChart() {
    // 数据序列
    const series = [75]
    // 图表选项
    const options = {
        chart: {
            height: 350,
            type: 'radialBar',
            toolbar: {
                show: true
            }
        },
        plotOptions: {
            radialBar: {
                startAngle: -135,
                endAngle: 225,
                hollow: {
                    margin: 0,
                    size: '70%',
                    background: '#fff',
                    image: undefined,
                    imageOffsetX: 0,
                    imageOffsetY: 0,
                    position: 'front',
                    dropShadow: {
                        enabled: true,
                        top: 3,
                        left: 0,
                        blur: 4,
                        opacity: 0.24
                    }
                },
                track: {
                    background: '#fff',
                    strokeWidth: '67%',
                    margin: 0, // margin is in pixels
                    dropShadow: {
                        enabled: true,
                        top: -3,
                        left: 0,
                        blur: 4,
                        opacity: 0.35
                    }
                },
                // 数据标签
                dataLabels: {
                    show: true,
                    name: {
                        offsetY: -10,
                        show: true,
                        color: '#888',
                        fontSize: '17px'
                    },
                    value: {
                        formatter: function (val) {
                            return parseInt(val);
                        },
                        color: '#111',
                        fontSize: '36px',
                        show: true,
                    }
                }
            }
        },
        // 渐变色填充
        fill: {
            type: 'gradient',
            gradient: {
                shade: 'dark',
                type: 'horizontal',
                shadeIntensity: 0.5,
                gradientToColors: ['#ABE5A1'],
                inverseColors: true,
                opacityFrom: 1,
                opacityTo: 1,
                stops: [0, 100]
            }
        },
        stroke: {
            lineCap: 'round'
        },
        labels: ['百分比'],
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

半个圆环图

import ApexChart from 'react-apexcharts';

export function SemiCircleChart() {
    // 数据序列
    const series = [75]
    // 图表选项
    const options = {
        chart: {
            type: 'radialBar',
            offsetY: -20,
            sparkline: {
                enabled: true
            }
        },
        plotOptions: {
            radialBar: {
                // 通过角度控制只有一半
                startAngle: -90,
                endAngle: 90,
                track: {
                    background: "#e7e7e7",
                    strokeWidth: '97%',
                    margin: 5, // margin is in pixels
                    dropShadow: {
                        enabled: true,
                        top: 2,
                        left: 0,
                        color: '#999',
                        opacity: 1,
                        blur: 2
                    }
                },
                dataLabels: {
                    name: {
                        show: false
                    },
                    value: {
                        offsetY: -2,
                        fontSize: '22px'
                    }
                }
            }
        },
        grid: {
            padding: {
                top: -10
            }
        },
        fill: {
            type: 'gradient',
            gradient: {
                shade: 'light',
                shadeIntensity: 0.4,
                inverseColors: false,
                opacityFrom: 1,
                opacityTo: 1,
                stops: [0, 50, 53, 91]
            },
        },
        labels: ['平均结果'],
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

虚线圆环图

import ApexChart from 'react-apexcharts';

export function StrokedGaugeCircleChart() {
    // 数据序列
    const series = [75]
    // 图表选项
    const options = {
        chart: {
            height: 350,
            type: 'radialBar',
            offsetY: -10
        },
        plotOptions: {
            radialBar: {
                startAngle: -135,
                endAngle: 135,
                dataLabels: {
                    name: {
                        fontSize: '16px',
                        color: undefined,
                        offsetY: 120
                    },
                    value: {
                        offsetY: 76,
                        fontSize: '22px',
                        color: undefined,
                        formatter: function (val) {
                            return val + "%";
                        }
                    }
                }
            }
        },
        fill: {
            type: 'gradient',
            gradient: {
                shade: 'dark',
                shadeIntensity: 0.15,
                inverseColors: false,
                opacityFrom: 1,
                opacityTo: 1,
                stops: [0, 50, 65, 91]
            },
        },
        // 线条
        stroke: {
            // 点的数量
            // 数字越小,越密集
            dashArray: 3
        },
        labels: ['中位数比'],
    }
    return (
        <div id="chart">
            <ApexChart options={options} series={series} type="radialBar" height={550}/>
        </div>
    )
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于jeecgboot-vue3的Flowable流程-我的任务(一)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、首先可以用现成生成代码的前端来做这个&#xff0c;只要做一些调整就可以了&#xff0c;这样利用现有的一些模板可以快速构建我的任务&#xff0c;否则vue2与vue3相差太大&#xff0c;移…

将文件批量重命名001到100?怎么批量修改文件夹名字?这四款工具不要错过!

你们有没有遇到过需要批量修改文件&#xff08;文件夹&#xff09;名的情况&#xff1f;从网上下载一些文件都会带有一些后缀名字。大量的文件&#xff0c;一个一个修改重命名的话&#xff0c;这简直是个头疼的事情。市面上虽然有很多批量文件重命名工具&#xff0c;但要么收费…

memblock_free_all释放page到buddy,前后nr_free的情况

https://www.cnblogs.com/tolimit/p/5287801.html 在zone_sizes_init 之后&#xff0c;各个node&#xff0c;zone的page总数已知。但是此时的每个order的空闲链表是空的&#xff0c;也就是无法通过alloc_page这种接口来分配。此时page还在memblock管控&#xff0c;需要memblock…

IT人的拖延——别让“对失败的担忧”吓跑了“幸福感”

除了完美主义情结外&#xff0c;拖延的另一大重要原因是“对于失败的担忧”&#xff0c;当我们尝试没有把握的事&#xff0c;或者是曾经做这件事失败过&#xff0c;再次需要尝试时&#xff0c;因为对自我有“成功”的期望&#xff0c;自然就会担忧失败的可能性。比如&#xff0…

前端Vue自定义个性化导航栏菜单组件的设计与实现

摘要&#xff1a; 随着前端技术的飞速发展和业务场景的日益复杂&#xff0c;组件化开发已成为提升开发效率和降低维护成本的关键手段。本文将以Vue uni-app平台为例&#xff0c;介绍如何通过自定义导航栏菜单组件&#xff0c;实现业务逻辑与界面展示的解耦&#xff0c;以及如何…

基于 Coze 从 0-1 搭建专属 小白的Bot 机器人

基于 Coze 从 0-1 搭建专属 小白的Bot 机器人 ​ 作为一个GIS从业人员&#xff0c;对于AI的使用是必不可少的&#xff0c;在过去的一两年里各种大模型频出&#xff0c;AI技术已经成为GIS领域的一项重要工具&#xff0c;为我们提供了许多强大的功能和解决方案。看到好文章都在介…

在PyCharm中,不希望新建Python文件自动打开Python控制台

很久没更新水一下 第一步编辑配置 第二步编辑配置模板 第三步取消勾选 第四步确定

【贪心算法题记录】376. 摆动序列

题目链接 题目描述 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如&#xff0c; [1, 7, 4, 9, 2, 5] …

【Qt】Qt框架文件处理精要:API解析与应用实例:QFile

文章目录 前言&#xff1a;1. Qt 文件概述2. 输入输出设备类3. 文件读写类3.1. 打开open3.2. 读read / readline/ readAll3.3. 写write3.4. 关闭close 4. 读写文件示例5. 文件件和目录信息类总结&#xff1a; 前言&#xff1a; 在现代软件开发中&#xff0c;文件操作是应用程序…

好消息!DolphinScheduler官网集成LLM模型问答AI kapa.ai

不少小伙伴可能发现了&#xff0c;Apache DolphinScheduler官网最近默默上线了kapa.ai作为LLM的问答AI。 集成kapa.ai之后&#xff0c;社区用户可以点击Apache DolphinScheduler官网首页右下角的「Ask AI」模块&#xff0c;在接下来弹出的问答框输入自己的问题&#xff0c;即可…

uniapp通过Canvas绘制网格(心电图,坐标纸等可用)

本篇文档是Canvas绘制心电图的第一个部分&#xff0c;想了解详情的可以关注后学习交流。 心电图的最底层需要一个网状底层&#xff0c;来方便进行数据的测量。 一、白底分大、中、小三个区域的网格 1、首先是HTML部分 <!DOCTYPE html> <html lang"en">…

睿联技术对亚马逊既依赖又竞争:递表前大额分红,资金充裕又补流?

《港湾商业观察》施子夫 王璐 今年3月29日&#xff0c;冲刺创业板IPO的深圳市睿联技术股份有限公司&#xff08;以下简称&#xff0c;睿联技术&#xff09;提交了注册&#xff0c;不出意外的话&#xff0c;公司离挂牌上市已经近在咫尺。 然而&#xff0c;在目前资本市场尤其…

HNU-计算机体系结构-期末复习

前言 这是新开的课程&#xff0c;故历年考题有限。2024年期末考试的情况像大默写。期末试卷回忆在这里&#xff1a; 计算机体系结构-2024期末考试-CSDN博客 不知道结果怎么样&#xff0c;希望别太对不起付出吧。 资源推荐 本着不重复造轮子的原则&#xff0c;这里推荐学长以…

大模型培训 AUTOWEBGLM:自动网页导航智能体

大语言模型&#xff08;LLMs&#xff09;在智能代理任务中发挥着重要作用&#xff0c;尤其是在网络导航方面。然而&#xff0c;现有的代理在真实世界的网页上表现不佳&#xff0c;主要原因网络导航代理面临着三大挑战&#xff1a;网页上行动的多样性、HTML文本的处理限制以及开…

127.0.0.1 和 localhost 以及 0.0.0.0 区别

之前用 nginx 的时候&#xff0c;发现用这几个 IP&#xff0c;都能正常访问到 nginx 的欢迎网页。一度认为这几个 IP 都是一样的。 但本质上还是有些区别的。 首先 localhost 就不叫 IP&#xff0c;它是一个域名&#xff0c;就跟 "baidu.com",是一个形式的东西&…

开放式耳机推荐品牌:五款品质超凡机型必须选购

在这个快节奏的生活中&#xff0c;我们每个人都渴望在忙碌之余找到一片属于自己的宁静。音乐&#xff0c;作为连接心灵的桥梁&#xff0c;无疑是最为直接和有效的途径。而一款优秀的开放式耳机&#xff0c;不仅能让我们沉浸在美妙的旋律中&#xff0c;还能在保持对外界环境感知…

汇编原理(三)编程

源程序&#xff1a; 汇编指令&#xff1a;有对应的机器码与其对应 伪指令&#xff1a;无对应的机器码&#xff0c;是由编译器来执行的指令&#xff0c;编译器根据伪指令来进行相关的编译工作。 ex1:XXX segment、XXX ends这两个是一对成对使用的伪指令&#xff0c;且必须会被用…

HNU-计算机体系结构-实验3-缓存一致性

计算机体系结构 实验3 计科210X 甘晴void 202108010XXX 文章目录 计算机体系结构 实验31 实验目的2 实验过程2.0 预备知识2.0.1 多cache一致性算法——监听法2.0.1.1 MSI协议2.0.1.2 MESI协议2.0.1.3 本题讲解 2.0.2 多cache一致性算法——目录法2.0.2.1 有中心的目录法2.0.2…

摸鱼大数据——Hive表操作——复杂类型

1、hvie的SerDe机制 其中ROW FORMAT是语法关键字&#xff0c;DELIMITED和SERDE二选其一。本次我们主要学习DELIMITED关键字相关知识点 如果使用delimited: 表示底层默认使用的Serde类:LazySimpleSerDe类来处理数据。 如果使用serde:表示指定其他的Serde类来处理数据,支持用户自…

无需安装的在线PS:打开即用

为什么想用在线PS网页版&#xff1f;Photoshop常用于平面设计&#xff0c;是不少设计师接触过的第一款设计软件。作为一款平面设计工具&#xff0c;ps功能太多&#xff0c;并且没有在线版&#xff0c;这不仅需要设计师花费时间学习软件&#xff0c;还需要设计师具备一定的设计能…