d3实现水果分类计数统计饼状图效果代码
代码语言:html
所属分类:其他
代码描述: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