d3实现水果分类计数统计饼状图效果代码

代码语言:html

所属分类:其他

代码描述:d3实现水果分类计数统计饼状图效果代码,选择水果类型,输入数值,进行汇总统计。

代码标签: d3 水果 分类 计数 统计 饼状图

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">

<style>
    @import url("https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400,700&display=swap");

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body {
    color: hsl(240, 25%, 95%);
    background: hsl(240, 25%, 20%);
    font-family: "IBM Plex Mono", monospace;
}
/* absolute position the span in the top left corner of each heading */
h2 {
    position: relative;
    font-size: 1.85rem;
    padding: 0.25rem;
    font-weight: 400;
}
h2 span {
    position: absolute;
    top: 0%;
    right: 100%;
    transform: translateY(-50%);
    display: block;
    width: 1.25em;
    height: 1.25em;
    border-radius: 0.75rem;
    background: hsla(240, 25%, 50%, 0.3);
}
h2 span svg {
    display: block;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 3px hsla(240, 25%, 0%, 0.5));
}

.app > * + * + * {
    margin-top: 5rem;
}
section > * + * {
    margin-top: 1rem;
}

.app.svelte-bshi3b{max-width:900px;width:80vw;margin:2rem auto}
form.svelte-12oa6ic{display:flex;flex-wrap:wrap;align-items:center;color:hsl(240, 25%, 20%);background:hsla(240, 25%, 95%, 1);padding:0.75rem 1rem;border-radius:5px}form.svelte-12oa6ic label.svelte-12oa6ic{flex-grow:1;display:flex;flex-direction:column;font-size:1rem;line-height:2}form.svelte-12oa6ic label input.svelte-12oa6ic{font-size:1.1rem;color:inherit;font-family:inherit;background:none;border:none;padding:0.5rem 0.75rem;border-left:0.25rem solid currentColor}form.svelte-12oa6ic button.svelte-12oa6ic{background:none;border:none;color:inherit;width:3rem;height:3rem;padding:0.25rem;margin:0.25rem 0}form.svelte-12oa6ic button svg.svelte-12oa6ic{display:block;width:100%;height:100%}
main.svelte-m9wvyg{display:grid;justify-content:center;grid-template-columns:repeat(auto-fill, 150px);grid-auto-rows:150px;grid-gap:2rem}article.svelte-m9wvyg{display:flex;flex-direction:column;justify-content:center;align-items:center;background:hsla(240, 25%, 50%, 0.1);border:5px solid currentColor;border-radius:25px;position:relative}article.svelte-m9wvyg h2.svelte-m9wvyg{font-weight:400;font-size:1.25rem}article.svelte-m9wvyg p.svelte-m9wvyg{font-size:2.25rem;font-weight:700}article.svelte-m9wvyg button.svelte-m9wvyg{position:absolute;top:0%;right:0%;transform:translate(50%, -50%);background:none;border:none;border-radius:50%;width:1.5rem;height:1.5rem;color:inherit;background:currentColor;box-shadow:0 0 0 0.5rem hsl(240, 25%, 20%)}article.svelte-m9wvyg button svg.svelte-m9wvyg{display:block;width:100%;height:100%;color:hsl(240, 25%, 20%)}
div.svelte-1ljjwhb{display:flex;justify-content:space-around;flex-wrap:wrap;align-items:center}
</style>
</head>
<body>

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/d3.v5.js"></script>
  
  <script  >
      
      var app = function() {
    "use strict";
    function e() {}
    function t(e) {
        return e()
    }
    function n() {
        return Object.create(null)
    }
    function r(e) {
        e.forEach(t)
    }
    function i(e) {
        return "function" == typeof e
    }
    function o(e, t) {
        return e != e ? t == t : e !== t || e && "object" == typeof e || "function" == typeof e
    }
    function l(e, t, n) {
        e.$$.on_destroy.push(function(e, t) {
            const n = e.subscribe(t);
            return n.unsubscribe ? ()=>n.unsubscribe() : n
        }(t, n))
    }
    function a(e, t) {
        e.appendChild(t)
    }
    function s(e, t, n) {
        e.insertBefore(t, n || null)
    }
    function c(e) {
        e.parentNode.removeChild(e)
    }
    function u(e, t) {
        for (let n = 0; n < e.length; n += 1)
            e[n] && e[n].d(t)
    }
    function d(e) {
        return document.createElement(e)
    }
    function m(e) {
        return document.createElementNS("http://www.w3.org/2000/svg", e)
    }
    function f(e) {
        return document.createTextNode(e)
    }
    function h() {
        return f(" ")
    }
    function p() {
        return f("")
    }
    function g(e, t, n, r) {
        return e.addEventListener(t, n, r),
        ()=>e.removeEventListener(t, n, r)
    }
    function v(e, t, n) {
        null == n ? e.removeAttribute(t) : e.setAttribute(t, n)
    }
    function $(e, t) {
        t = "" + t,
        e.data !== t && (e.data = t)
    }
    function y(e, t) {
        (null != t || e.value) && (e.value = t)
    }
    function b(e, t, n, r) {
        e.style.setProperty(t, n, r ? "important" : "")
    }
    let w;
    function x(e) {
        w = e
    }
    const k = []
      , _ = []
      , S = []
      , M = []
      , F = Promise.resolve();
    let B = !1;
    function C(e) {
        S.push(e)
    }
    function L() {
        const e = new Set;
        do {
            for (; k.length; ) {
                const e = k.shift();
                x(e),
                j(e.$$)
            }
            for (; _.length; )
                _.pop()();
            for (let t = 0; t < S.length; t += 1) {
                const n = S[t];
                e.has(n) || (n(),
                e.add(n))
            }
            S.length = 0
        } while (k.length);
        for (; M.length; )
            M.pop()();
        B = !1
    }
    function j(e) {
        e.fragment && (e.update(e.dirty),
        r(e.before_update),
        e.fragment.p(e.dirty, e.ctx),
        e.dirty = null,
        e.after_update.forEach(C))
    }
    const O = new Set;
    let E;
    function T(e, t) {
        e && e.i && (O.delete(e),
        e.i(t))
    }
    function A(e, t, n, r) {
        if (e && e.o) {
            if (O.has(e))
                return;
            O.add(e),
            E.c.push(()=>{
                O.delete(e),
                r && (n && e.d(1),
                r())
            }
            ),
            e.o(t)
        }
    }
    function H(e, t) {
        e.d(1),
        t.delete(e.key)
    }
    function N(e, t, n, r, i, o, l, a, s, c, u, d) {
        let m = e.length
          , f = o.length
          , h = m;
        const p = {};
        for (; h--; )
            p[e[h].key] = h;
        const g = []
          , v = new Map
          , $ = new Map;
        for (h = f; h--; .........完整代码请登录后点击上方下载按钮下载查看

网友评论0