- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Chart.js ( documentation ),但我似乎无法为 Donut 路径 设置背景色。它甚至没有在文档中提及。
我要实现的目标:
当前代码:
var meterInvoicesData = [
{
value: 75,
color: '#22d319'
},
{
value: 25, // rest
color: 'transparent' // invisible (setting this as background color will animate it too)
}
];
var meterOptions =
{
percentageInnerCutout : 80,
animationEasing : 'easeInQuint'
};
var meterInvoices = new Chart(document.getElementById('meterInvoices').getContext('2d')).Doughnut(meterInvoicesData,meterOptions);
更新:我目前通过使用值为 100、没有动画和我想要的(背景)颜色的复制 donut (第二个 Canvas )解决了这个问题,并且将其绝对定位在第一个下方。
然而,这是一个令人讨厌的技巧,而且效率很低,所以我仍然希望得到一个正确的答案。
最佳答案
我想我会发布一个对我有用的最新解决方案,使用引入了 plugins 的 v2.1.0 .
没有值显示背景的图表 vs 有值覆盖背景的图表,只有主图表会动画,背景只是一个简单的弧线:
我首先根据 their docs 注册了一个插件:
var radiusBackground = function() {
var self = this;
self.draw = function(chartInstance) {
if(chartInstance.options.radiusBackground) {
var x = chartInstance.chart.canvas.clientWidth / 2,
y = chartInstance.chart.canvas.clientHeight / 2,
ctx = chartInstance.chart.ctx;
ctx.beginPath();
ctx.arc(x, y, chartInstance.outerRadius - (chartInstance.radiusLength / 2), 0, 2 * Math.PI);
ctx.lineWidth = chartInstance.radiusLength;
ctx.strokeStyle = chartInstance.options.radiusBackground.color || '#d1d1d1';
ctx.stroke();
}
};
// see http://www.chartjs.org/docs/#advanced-usage-creating-plugins for plugin interface
return {
beforeDatasetsDraw: self.draw,
onResize: self.draw
}
};
// Register with Chart JS
Chart.plugins.register(new radiusBackground());
单例语法只是为了能够减少重复并为多个插件事件使用相同的 draw
方法。
然后我像这样使用我新注册的插件:
var chartElement = document.getElementById('doughnut-chart');
var chart = new Chart(chartElement, {
type: 'doughnut',
options: {
// Here is where we enable the 'radiusBackground'
radiusBackground: {
color: '#d1d1d1' // Set your color per instance if you like
},
cutoutPercentage: 90,
title: {
display: false,
},
legend: {
display: false,
},
},
data: {
labels: ["Type 1", "Type 2", "Type 3"],
datasets: [{
data: [2, 5, 1],
backgroundColor: ["#a3c7c9","#889d9e","#647678"],
borderWidth: 0,
hoverBackgroundColor: ["#96b7b9","#718283","#5c6b6d"]
}]
}
});
关于javascript - Chart.js 设置 donut 背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19834763/
我一直致力于使用 highcharts 复制此图表设计。 我一直在玩 jsfiddle 试图获得想要的结果,但问题是我无法设法获得百分比未填充的白色区域,也无法获得条形之间的间隙。 使用 highch
我正在使用 Steema.TeeChart for .Net(用 C# 编码) 有人知道如何在圆环图的饼图内做标签吗? 它应该看起来像: http://www.steema.com/uploads/g
当点击内部 donut 时,我试图将内部和其他 donut 滑出。在下面的链接中,只切掉了内部 donut 。 http://jsfiddle.net/bvL0r6tq/ 我试图通过点选择选择外部切片
我正在尝试将内部 donut 名称设置为 highchart 中外部 donut 工具提示的标题。任何人都可以帮我解决这个问题。在示例中,内部饼图上显示的链接镶边应显示为外部 donut 工具提示中所
我正在使用 jqplot 设置一个具有两个级别的圆环图,但有两个问题,我偷偷怀疑它们是相关的。 当我将设置保留为默认设置时,它会正确显示,但一旦我开始设置直径、内径等。尺寸适用于内部和外部图表,并且它
我想制作一个 donut 风格的饼图,在特定的 donut 扇区带有弯曲的标签,就像这个: 在此模型中,用户单击了“Raphael.js”扇区。现在对于单击的扇区,还应该有一个事件处理程序,负责在饼图
我是编程新手,如果问题很愚蠢,我很抱歉。我正在用 chart.js 做一些图形. 我已经成功地通过 onclick 事件在另一个内部创建了一个 donut ,我遇到的问题是它为每次点击生成一个 don
您好,我想实现一个像这样的 donut 菜单 http://dribbble.com/shots/610433-Wheel-Nav我知道有一种在 css3 中制作 donut 的简单方法。 .doug
我创建了一个带有 highcharts 的饼图,效果很好。现在我想做的是当我悬停一个区域时,我想突出显示它的 parent 和 child ,并在工具提示中显示他们的所有数据。 这是我的图表: htt
我正在尝试增加圆环图的内半径,并且还能够在圆环图内写入。 $scope.donut = new RGraph.Pie('myDonut', $scope.donutData) .
我有一个简单的 SVG donut ,其中使用 stroke-dashoffset="xx"放置了 5 个相等的切片。 donut 本身看起来不错,但是当我尝试为每个切片添加一些悬停更改时,例如,简单
板级: import java.awt.*; import java.awt.geom.AffineTransform; import java.awt.geom.Ellipse2D; import
请帮我修改代码。我使用 D3 v5.7.0 并尝试绘制 donut 。 现场演示 is here. 我的代码在这里: const dataset = [ [ 5, 3 ] ]; const s
我使用 highchart 库开发了一个圆环图。我需要在 donut 的内部添加一个标签。 预期结果: JS: $(function () { $('#container8').highcha
我在 Highcharts 中对 donut 中的馅饼很感兴趣,但我似乎无法显示图例或共享工具提示。工作正常with non-shared tooltips : tooltip: {
我创建了一个圆环图,如下所示: 我生成的 donut chart 应采用以下方式: 我的问题是,我怎样才能用图像实现线条(它们在第二个屏幕截图中四舍五入) 供引用,这是我编写的代码: public c
我有一个 2D map ,它在边缘处环绕。因此,如果您离开右边缘,您将重新出现在 map 的左侧。其他三个边也是如此。 这是我用来在点范围内查找元素的 KDTree 的可继承问题。通常,您会检查超球体
我正在使用 Plotly 来绘制 Donut Plot。下面你可以看到我的数据 df1% plot_ly(labels = ~manuf, values = ~count) fig % add_pie
我正在尝试为圆圈内的点生成一个分布,其中有更多的点朝向中心,但对于 donut 形状 我可以制作一个均匀分布的 donut 形状 (1),或者一个有更多点朝向中心的圆圈 (2),但不能制作一个有这么多
http://www.mediafire.com/view/z8ad4pedqr7twbl/donut.png 我想像那个图像一样绘制这个 donut 。我已经使用 raphaeljs 来绘制它。但是
我是一名优秀的程序员,十分优秀!