我使用JSChart来创建一个简单的时间图。我没有在他们的文档中找到任何设置时间标签的信息。我只想每天出现一次。最好是在午夜。
现在我每个数据集得到1个日期标签。这太过分了。
示例图像
JS函数初始化图表
_j(function () {
/* ChartJS
* -------
* Here we will create a few charts using ChartJS
*/
var graphData = $graph_data;
var graphLabels = $graph_labels;
var lineChartData = {
labels: graphLabels,
datasets: [
{
label: "Count",
fillColor: "rgba(210, 214, 222, 1)",
strokeColor: "rgb(60, 141, 188)",
pointColor: "rgba(210, 214, 222, 1)",
pointStrokeColor: "#c1c7d1",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: graphData
},
{
label: "Call",
fillColor: "rgba(60,141,188,0.9)",
strokeColor: "rgba(255,0,0,0.8)",
pointColor: "#3b8bba",
pointStrokeColor: "rgba(60,141,188,1)",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(60,141,188,1)",
data: [28, 50, 50, 50, 50, 50, 90]
}
]
};
var lineChartOptions = {
//Boolean - If we should show the scale at all
showScale: true,
//Boolean - Whether grid lines are shown across the chart
scaleShowGridLines: false,
//String - Colour of the grid lines
scaleGridLineColor: "rgba(0,0,0,.05)",
//Number - Width of the grid lines
scaleGridLineWidth: 1,
//Boolean - Whether to show horizontal lines (except X axis)
scaleShowHorizontalLines: true,
//Boolean - Whether to show vertical lines (except Y axis)
scaleShowVerticalLines: true,
//Boolean - Whether the line is curved between points
bezierCurve: true,
//Number - Tension of the bezier curve between points
bezierCurveTension: 0.3,
//Boolean - Whether to show a dot for each point
pointDot: false,
//Number - Radius of each point dot in pixels
pointDotRadius: 4,
//Number - Pixel width of point dot stroke
pointDotStrokeWidth: 1,
//Number - amount extra to add to the radius to cater for hit detection outside the drawn point
pointHitDetectionRadius: 20,
//Boolean - Whether to show a stroke for datasets
datasetStroke: true,
//Number - Pixel width of dataset stroke
datasetStrokeWidth: 2,
//Boolean - Whether to fill the dataset with a color
datasetFill: false,
//String - A legend template
// legendTemplate: "<ul class='<%=name.toLowerCase()%>-legend'><% for (var i=0; i<datasets.length; i++){%><li><span style='background-color:<%=datasets[i].lineColor%>'></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>",
//Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
maintainAspectRatio: true,
//Boolean - whether to make the chart responsive to window resizing
responsive: true,
scales: {
xAxes: [{
type: 'time',
time: {
displayFormats: {
'millisecond': 'MMM DD',
'second': 'MMM DD',
'minute': 'MMM DD',
'hour': 'MMM DD',
'day': 'MMM DD',
'week': 'MMM DD',
'month': 'MMM DD',
'quarter': 'MMM DD',
'year': 'MMM DD'
}
}
}]
}
};
//-------------
//- LINE CHART -
//--------------
var lineChartCanvas = document.getElementById("$chartID").getContext("2d");
var lineChart = new Chart(lineChartCanvas);
lineChart.Line(lineChartData, lineChartOptions);
});
PHP调用上面的模板。
$graphTitle = "GRAPH API";
$chartID = "lineChartAPI";
$graph_data = json_encode($graph_data);
//reverse Reihenfolge der Labels
$graph_labels = json_encode($graph_labels);
eval(get_template("start_stat_graph"));
$data = $tpl;
这个帖子帮了大忙
因此,对于少数 x 轴图例条目,解决方法只是操作数据,并且仅使用简单的 %5 if 语句设置每 5 个数据。
尝试使用 http://www.highcharts.com/ 它在配置中要好得多。
我有导致绘制多条线的数据,我想在图例中为这些线添加一个标签。我认为用下面的例子可以更好地说明这一点, 有没有办法告诉plot方法避免多个标签?我不想尽可能多地使用自定义图例(您可以同时指定标签和线型)。
我想创建具有多个标签和图像的listView项。我创建了一个cell类: 这是我的控制器代码的一部分: selectedpart具有映像的自定义类。但是现在我完全不知道如何向这些标签发送文本,因为updateItem()方法只获得一个字符串。关于图像,我想对每一个项目分别设置不同的图像。我尝试发送到构造函数,但然后所有的图像都是一样的。我使用的是MVC,我也可以使用代码。
问题内容: 我有以下示例代码: 该子图在同一子图上有两个比例不同的轴,我只希望两个轴都有一个图例。我尝试了上面的代码,它不起作用,仅从ax2中产生细节。有任何想法吗? 问题答案: 我想出了一个可行的解决方案!有没有比这更好的方法了?
我的问题类似于Chart.js 2.1.6中图例如何显示条形标签? 我想有相同的输出饼图给出,但我不想创建多个数据集。我设法做到了这一点,但现在我找不到如何做到。 这是我的代码示例: 这是一种方法吗?
我有4个图标在底部栏在我的应用程序,我需要改变颜色的图标从灰色到白色,我遵循这个问题,但当我按任何图标所有图标改变颜色在同一时间,我需要当按例如(主页)图标只按(主页)图标。 我怎么能这么做?? 代码:
我正在绘图中绘制多个多边形: 结果图正确地显示了我的多边形,但我想知道哪个多边形对应于图上的哪个索引(例如:绿色多边形是处的多边形)。理想情况下,我想要一个将多边形的颜色与其索引关联起来的图例,但我不知道如何在这样的循环中添加这样的图例。我试过但这不起作用。 多边形的数量是可变的,所以严格分配颜色是不可能的。 如何添加图例?