- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 ChartJS 中使用一种方法在堆叠条形图中显示多条数据。在官方文档中,标签与堆栈的每个段有关,但我需要这些段是独立的。
我已经模拟了我需要实现的那种输出。我们每天有三个堆叠的条形图,每个条形显示一个单独的数据集。在每个数据集中,我们有一个段,它实际上是该条的子集。
不幸的是data
里面的属性(property)dataset
似乎不接受数组。这个图表可以使用 ChartJS 吗?
最佳答案
我在 ASP.Net/C# 中这样做:
我来自数据库的数据如下所示:
尺寸:“38 英寸”最小:80 标准:85 最大:90
创建模型
namespace YourNameSpace.Models
{
public class Chart
{
public string[] labels { get; set; }
public List<Datasets> datasets { get; set; }
}
public class Datasets
{
public string borderColor { get; set; }
public bool fill { get; set; }
public string label { get; set; }
public string backgroundColor { get; set; }
public string type { get; set; }
public string borderWidth { get; set; }
public int[] data { get; set; }
}
public class Configurations
{
public string Crops { get; set; }
public int HP { get; set; }
public string Pump { get; set; }
public string TractorManufacture { get; set; }
public string TractorModel { get; set; }
}
}
List<string> LabelList = new List<string>();
foreach(ChartFromDB db in cdb)//ChartFromDB holds the structure mentioned above
{
LabelList.Add(db.Size);
}
Chart _chart = new Chart();
_chart.labels = LabelList.ToArray();
_chart.datasets = new List<Datasets>();
List<Datasets> _dataSet = new List<Datasets>();
List<int> DataList = new List<int>();
List<int> DataMin = new List<int>();
List<int> DataStandard = new List<int>();
List<int> DataMax = new List<int>();
//line goes first
for (int y = 0; y < cdb.Count; y++)
{
DataList.Add(conf.HP);
}
_dataSet.Add(new Datasets()
{
type = "line",
borderColor = "#FF6347",
fill = false,
label = "Your PTO-HP",
data = DataList.ToArray(),
backgroundColor = "#FF6347",
borderWidth = "2"
});
for (int i=0;i< cdb.Count; i++)
{
DataMax.Add(cdb[i].Maximum);
DataStandard.Add(cdb[i].Standard);
DataMin.Add(cdb[i].Minimum);
}
_dataSet.Add(new Datasets()
{
type = "bar",
fill = true,
label = "Base - Minimum",
data = DataMin.ToArray(),
borderColor = "#FFE07C",
backgroundColor = "#FFE07C",
borderWidth = "1"
});
_dataSet.Add(new Datasets()
{
type = "bar",
fill = true,
label = "Standard - Minimum",
data = DataStandard.ToArray(),
borderColor = "#E4A317",
backgroundColor = "#E4A317",
borderWidth = "1"
});
_dataSet.Add(new Datasets()
{
type = "bar",
fill = true,
label = "High Performance - Minimum",
data = DataMax.ToArray(),
borderColor = "#AD9754",
backgroundColor = "#AD9754",
borderWidth = "1"
});
_chart.datasets = _dataSet;
return Json(_chart, JsonRequestBehavior.AllowGet);
function LoadCharts(data) {
//the hi/low will allow you to dynamically adjust the upper/lower bound of the grid
var hi = SomeMethodToGetTheUpperBoundForYourChart;
var lo = SomeMethodToGetTheLowerBoundForYourChart;
var ctx = document.getElementById('canvas').getContext('2d');
var myBarChart = new Chart(ctx, {
type: 'bar',
data: data,
options: {
title: {
display: true,
text: 'Some title for your graph'
},
tooltips: {
mode: 'index',
intersect: false
},
responsive: true,
scales: {
xAxes: [{
stacked: false
}],
yAxes: [
{
ticks: {
max: hi ,
min: lo,
stepSize: 10,
callback: function (value, index, values) {
return value + " Some description for your value";
}
}
},
{
stacked: false
}, {
legend : {
display: false
}
}
]
},
layout: {
padding: {
left: 10,
right: 10,
top: 0,
bottom: 0
}
}
}
});
}//LoadCharts
关于chart.js - 使用 ChartJs 的多个堆积条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756963/
我使用 Dojo fadeIn 和 fadeOut 以及一个计时器旋转了三个堆叠图像。只有最后一个的 href 可用。是否也可以旋转 href? 这是它的 CSS: #main-slides
给定一个 numpy 数组,我想总结统一的元素 block 以形成一个新的、更小的数组。它与分箱类似,但不是按频率分箱。除了通过示例(如下)之外,我不确定如何描述它。 问题:是否有用于此的函数或更清晰
我正在尝试实现某种按钮控制的幻灯片放映,其中包括用于页面顶部全 Angular 图片的 div,用于页面顶部的 div页面底部的另一张全 Angular 图片和中央内容的最终 div(包括控制“幻
嘿,我正在使用 D3JS 作为图表库,我真的很想利用气泡图中的超酷功能。上主D3JS chart站点下面的Bubble Chart用来比较两组数据: Bubble Chart . 我想知道是否有人真的
我是一名优秀的程序员,十分优秀!