여기에 해킹 비트가 있습니다. 각 시리즈마다 라벨이 하나 더 필요하기 때문에 "빈"시리즈를 도입했습니다. 그래도 원하는 것을 복제합니다. 바이올린 here.
$(document).ready(function(){
var s1 = [5, 6];
var s2 = [7, 5];
var s3 = [14, 9];
var s4 = [0, 0]; //empty series just for total labels
var pLabels1 = []; // arrays for each inner label
var pLabels2 = [];
var pLabels3 = [];
var pLabelsTotal = []; // array of totals above each column
for (var i = 0; i < s1.length; i++){
pLabels1.push('<div style="border:1px solid gray">'+s1[i]+'</div>');
pLabels2.push('<div style="border:1px solid gray">'+s2[i]+'</div>');
pLabels3.push('<div style="border:1px solid gray">'+s3[i]+'</div>');
pLabelsTotal.push(s1[i]+s2[i]+s3[i]);
}
plot3 = $.jqplot('chart2', [s1, s2, s3, s4], {
// Tell the plot to stack the bars.
stackSeries: true,
captureRightClick: true,
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions: {
// Put a 30 pixel margin between bars.
barMargin: 30,
// Highlight bars when mouse button pressed.
// Disables default highlighting on mouse over.
highlightMouseDown: true
},
},
series:[
{
pointLabels:{
show:true,
labels:pLabels1,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabels2,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabels3,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabelsTotal,
ypadding: 7,
escapeHTML:false
}
}
],
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
padMin: 0,
min: 0
}
},
legend: {
show: false,
}
});
});
는 생산 :

흠 큰 TNX합니다. 웬일인지 바이올린이 작동하지 않습니다. 자원에 대한 링크가 잘못되었습니다. 어쨌든 – anu
@anu, 죄송합니다 바이올린에 대해 언급 했어야합니다. jqplot은 js 파일의 핫 링크를 허용하지 않습니다. 바이올린이 작동하려면 브라우저에서 파일을 탐색하고 캐시해야합니다. – Mark
원시 jqPlot 스크립트를 가져 오는이 코드에 대해 jsfiddle 샘플을 만들었습니다. 관심이있는 경우 번거롭지 않게 실행되는 코드를 볼 수 있습니다. http://jsfiddle.net/Boro/Ymca3/135/ String 연결을 추가해야했습니다. pLabelsTotal.push (""+ (s1 [i] + s2 [i] + s3 [i])); 각 별명 뒤에'.00'을 표시하는 별난 이유가 있습니다. 또한 얼마 전에 비슷한 솔루션을 만들었지 만 샘플 수는 하드 코딩되었습니다. 관심이 있으시면 http://stackoverflow.com/a/10296988/613495 – Boro