- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找将单个条形“图表”转换为圆环图的最快/最简单/最轻的方法。目前数据在一个 div 中,它由三个 span 元素组成,包含来自 Typescript 和 mongoDB 后端的数据。在这种情况下,是否可以仅使用 CSS 制作响应式圆环图?
数据现在是这样显示的: http://www.dailydoseofexcel.com/blogpix/barpie5.gif
这在某种程度上是我想要实现的目标: http://www.teylyn.com/wp-content/uploads/2010/03/donut-leader-06.gif
基本上这是 HTML 中的结构:
<div>
<span>{{data1}}</span>
<span>{{data2}}</span>
<span>{{data3}}</span>
</div>
如果需要,我会添加更多(确切的)代码示例,谢谢。编辑:
更具体的代码,HTML:
<div class="bar-chart-container">
<span class="bar-data1">{{data1.percentage}}</span>
<span class="bar-data2">{{data2.percentage}}</span>
<span class="bar-data3">{{data3.percentage}}</span>
</div>
CSS:
.bar-chart-container {
display: block;
}
.bar-chart {
display: inline-block;
font-size: 0.9em;
white-space: normal;
}
.bar-chart.bar-data1 {
background-color: green;
}
.bar-chart.bar-data2 {
background-color: red;
}
.bar-chart.bar-data3 {
background-color: gray;
最佳答案
<div class="card">
<div class="donut-chart chart1">
<div class="slice one"></div>
<div class="slice two"></div>
<div class="chart-center">
<span>{{data1}}</span>
<span>{{data2}}</span>
</div>
</div>
</div>
然后是 CSS
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: sans-serif;
background: #e1e1e1;
}
.card {
float: left;
background: #fff;
padding: 20px;
margin: 0 20px 0 0;
}
// Donut Chart Mixin
.donut-chart {
position: relative;
border-radius: 50%;
overflow: hidden;
.slice {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.chart-center {
position: absolute;
border-radius: 50%;
span {
display: block;
text-align: center;
}
}
}
@mixin donut-chart($name, $perc, $size, $width, $base, $center, $color, $textColor: $color, $textSize: 40px) {
$color2: $color;
$base2: $base;
$deg: ($perc/100*360)+deg;
$deg1: 90deg;
$deg2: $deg;
// If percentage is less than 50%
@if $perc < 50 {
$base: $color;
$color: $base2;
$color2: $base2;
$deg1: ($perc/100*360+90)+deg;
$deg2: 0deg;
}
.donut-chart {
&#{$name} {
width: $size;
height: $size;
background: $base;
.slice {
&.one {
clip: rect(0 $size $size/2 0);
-webkit-transform: rotate($deg1);
transform: rotate($deg1);
background: $color;
}
&.two {
clip: rect(0 $size/2 $size 0);
-webkit-transform: rotate($deg2);
transform: rotate($deg2);
background: $color2;
}
}
.chart-center {
top: $width;
left: $width;
width: $size - ($width * 2);
height: $size - ($width * 2);
background: $center;
span {
font-size: $textSize;
line-height: $size - ($width * 2);
color: $textColor;
&:after {
content: '#{$perc}%';
}
}
}
}
}
} // mixin
// Charts
@include donut-chart('.chart1', 75, 200px, 10px, #e1e1e1, #fff, #50c690);
@include donut-chart('.chart2', 91, 200px, 25px, #e1e1e1, #fff, #48b2c1);
@include donut-chart('.chart3', 15, 120px, 5px, #e1e1e1, #fff, #353535);
@include donut-chart('.chart4', 45, 240px, 15px, #e1e1e1, #fff, #f26a4a, #f26a4a, 60px);
关于javascript - 单条 "chart"到 CSS(或 HTML5/SVG)中的 donut (doughnut)图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40138745/
我正在使用 chart.js v2.5.0。我把 donut 放在 donut 里面。 我希望 2 个 donut (A) 之间的距离更大,而不影响同一个 donut (B) 内切片之间的距离。 请看
...但我希望我的 donut 是全尺寸的。因为我想将标题移动到 donut 的中心,所以我不需要上边距,它似乎是通过 Chart.HasTitle = True 添加的.我该如何解决这个问题? 示例
我希望创建一个自定义面板或控件来创建一种非常特殊类型的项目。 基本上,目的是拥有一个控件,您可以向其提供对象列表,并将这些对象中的每一个放入一个按钮中。问题是按钮应该像 donut 一样排列成一个圆圈
我知道可以在 上制作正方形/矩形和圆形, 但是否有可能制作一个“ donut ”形状,即一个大圆圈切出一个小的同心圆? 最佳答案 这是带有 fiddle 的代码: http://jsfiddle.n
我正在尝试使用 python-pptx 制作圆环图。我需要设置自定义孔尺寸,它应该是 holeSize 属性,但我找不到。 谁能帮帮我? chart = ph.insert_chart(XL_CHAR
我正在尝试使用 Chart Js 库生成圆环图,结果抛出错误 Uncaught TypeError: (intermediate value).Doughnut is not a function。我
我正在使用带有扩展名的 chartJS chartjs-gauge ,这基本上是用于创建仪表样式图表的自定义 donut 。我添加了 chartjs-plugin-datalabels plugin所
我正在尝试使用 Chart.js 在圆环图上显示图表信息(以 % 为单位)。在此图表中,我需要显示%值的每个部分始终包含两个部分。这是我的代码 var ctx = document.ge
不幸的是,我在这个例子中失败了。我包括以下脚本: [email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-P
不幸的是,我在这个例子中失败了。我包括以下脚本: [email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-P
我有一个图表占位符,我在其中插入了图表类型为“DOUGHNUT”的图表。我给它添加了数据标签并想改变它们的位置。由于某些原因,文档中给出的方法对我的图表没有影响。 这是我的代码,如果我做错了什么请帮助
我正在尝试使用 vue js 实现图表。我得到的图表本身没有图表,但标签交叉。我不知道出了什么问题。 这应该是我的饼图。正如您所看到的,我交叉了标签,这意味着删除所有标记的数据,因此给了我一个空图表。
我正在使用 react、react-chartjs-2 和 chart.js 2.2.1 版进行数据可视化。这个问题可能有一个相关的答案here (寻找 17.06.16 更新),但我不确定 Char
我正在寻找将单个条形“图表”转换为圆环图的最快/最简单/最轻的方法。目前数据在一个 div 中,它由三个 span 元素组成,包含来自 Typescript 和 mongoDB 后端的数据。在这种情况
我是一名优秀的程序员,十分优秀!