如何更改kendo条形图 - 系列标签定位? 请考虑以下小提琴:http://jsfiddle.net/ZPUr4/149/
在图表中,对于正值,条形值位于顶部,对于负值,条形值位于底部。
如何将系列标签值定位在条形图的顶部以获得正值和负值?
如果条形值变化,如何将所有标签值放在同一水平线上?
如果我的问题不明确,请告诉我。
以下是HTML代码:
<div id="example" class="k-content">
<div id="chart"></div>
</div>
JS代码:
function createChart() {
$("#chart").kendoChart({
title: {
text: "Site Visitors"
},
legend: {
position: "bottom"
},
seriesDefaults: {
type: "column",
labels: {
visible: true,
background: "transparent",
}
},
series: [{
name: "Total Visits",
data: series1,
gap: 1.0,
spacing: 0
}, {
name: "Unique visitors",
data: series2,
gap: 1.0
}],
valueAxis: {
min: -200000,
max: 200000,
axisCrossingValue: 50000,
line: {
visible: false
},
title: {
text: "Availability"
},
color: 'blue'
},
categoryAxis: {
color: "blue",
width: 25,
majorGridLines: {
visible: true,
position: "bottom"
},
line: {
width: 3,
}
},
tooltip: {
visible: true,
format: "{0}"
}
});
}
var series1=[56000, 63000, 74000, 91000, 117000, 158000];
var series2= [-52000, 34000, 23000, -98000, 67000, 83000];
$(document).ready(function () {
createChart();
$("#example").bind("kendo:skinChange", createChart);
var chart = $("#chart").data("kendoChart"),
firstSeries = chart.options.series;
});
感谢。
答案 0 :(得分:6)
为了指定值位于顶部,您应该使用:
labels: {
visible: true,
position: "top"
}
但是有了这个,你可以将放在栏中。要将其移到之外,您需要执行以下操作:
labels: {
visible: true,
position: "top",
padding: {
top: -20
}
}
添加padding.top
会使它增加20pix就足够了。
您的JSFiddle在此修改:http://jsfiddle.net/OnaBai/ZPUr4/178/
答案 1 :(得分:0)
有点晚了,但对你或其他人来说可能仍然有用。
我为网格做了很多自定义样式,以下内容允许我将标签放在同一行的图表顶部。
function chartBound(e) {
var chartData = e.sender;
var oldPrivateRedraw = chartData._redraw;
if (oldPrivateRedraw.toString().indexOf('Extend') == -1) { //not already extended
//Extends kendos function so we can do custom styling to svg components etc
chartData._redraw = function () {
oldPrivateRedraw.apply(chartData);
PostGraphDrawEvents();
};
}
}
function PostGraphDrawEvents() {
// Move the labels to the top of the graph
$.each($('#@chartId svg > g > text[style*="11px"]'), function (index, node) {
var clonedNode = node.cloneNode(true);
$(clonedNode).attr('y', 10);
$(node).before(clonedNode);
});
}
答案 2 :(得分:0)
航向 -------将以等宽字体显示。前四个空格 将被剥离,但所有其他空白将被保留。
Markdown and HTML are turned off in code blocks:
<i>This is not italic</i>, and [this is not a link](http://example.com)
要创建非块,而是内联代码范围,请使用反引号:
$
字符只是window.jQuery
的快捷方式。
如果要在列表中包含预格式化的块,请缩进八个空格:
这是这样,但现在遵循代码块:
Skip a line and indent eight spaces.
That's four spaces for the list
and four to trigger the code block.