如何在单个图表中同时添加条形图和折线图
how to add both barchart and line graph in single chart
你好我想在一张图表中同时获得条形图和折线图我能够显示条形图(多个垂直条),需要显示折线图
$("#chart1").html("");
var xLabel = 'AREAS';
var yLabel = 'NUMBERS';
var yInterval='';
var yInterval='';
var S1 = [20, 60, 70, 100];
var S2 = [70, 50, 30, 20];
var S3 = [10, 50, 30, 20];
var ticks = ['NA','APAC', 'EU','LATAM'];
var yInterval=120;
var count=120;
$.jqplot('chart1', [S1, S2, S3], {
seriesColors:['#5882FA', '#DF7401', '#A4A4A4'],
seriesDefaults: {
renderer:$.jqplot.BarRenderer,
pointLabels: { show: true },
rendererOptions: {
barWidth: 25,
barDirection: 'vertical',
barPadding: 0,
fillToZero: true,
shadowOffset: 0,
shadowDepth: 0
}
},
axes: {
xaxis: {
label: xLabel,
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ticks
},
yaxis: {
label: yLabel
}
},
});
我试图达到如下图所示
如果您为 2 个折线图定义 2 个附加系列:
// Series for line graphs
var S4 = [46, 38, 48, 47];
var S5 = [33, 23, 38, 11];
并确保除了 S1、S2 和 S3 之外,还将这些参数作为参数传入:
$.jqplot('graph_stacked', [S1, S2, S3, S4, S5], {
然后添加一个 series
对象来定义您要为每个系列使用的渲染器。这里前 3 个使用 BarRenderer and the last 2 use the LineRenderer:
series: [{
label: 'Total Number of Distributors',
renderer: $.jqplot.BarRenderer
}, {
label: 'Number of Distributors with at Least One Registered User',
renderer: $.jqplot.BarRenderer
}, {
label: 'Number of Active Distributors',
renderer: $.jqplot.BarRenderer
}, {
label: 'CMH Coverage %',
renderer: $.jqplot.LineRenderer
}, {
label: 'Distributor Utilization Rate',
renderer: $.jqplot.LineRenderer
}]
然后为 2 个新的折线图添加额外的颜色:
seriesColors: ['#5882FA', '#DF7401', '#A4A4A4', '#ff00ff', '#00ffff'],
请参阅 here 以获得演示。
编辑: 更新有关 y2 轴的查询:
在现有的 ya 轴旁边定义一个 y2 轴。确保 showGridline
设置为 false,以便它使用与 yaxis 相同的网格:
y2axis:{
label: y2Label,
min:0,
max:120,
tickOptions:{showGridline:false}
}
然后修改每个 series
以便它们使用相关的 yaxis 渲染器。在这种情况下,所有条形图都使用 yaxis
,折线图使用 y2axis
:
series: [{
label: 'Total Number of Distributors',
renderer: $.jqplot.BarRenderer,
yaxis: 'yaxis'
},
...
{
label: 'Distributor Utilization Rate',
renderer: $.jqplot.LineRenderer,
yaxis: 'y2axis'
}]
有关演示,请参阅 here。
你好我想在一张图表中同时获得条形图和折线图我能够显示条形图(多个垂直条),需要显示折线图
$("#chart1").html("");
var xLabel = 'AREAS';
var yLabel = 'NUMBERS';
var yInterval='';
var yInterval='';
var S1 = [20, 60, 70, 100];
var S2 = [70, 50, 30, 20];
var S3 = [10, 50, 30, 20];
var ticks = ['NA','APAC', 'EU','LATAM'];
var yInterval=120;
var count=120;
$.jqplot('chart1', [S1, S2, S3], {
seriesColors:['#5882FA', '#DF7401', '#A4A4A4'],
seriesDefaults: {
renderer:$.jqplot.BarRenderer,
pointLabels: { show: true },
rendererOptions: {
barWidth: 25,
barDirection: 'vertical',
barPadding: 0,
fillToZero: true,
shadowOffset: 0,
shadowDepth: 0
}
},
axes: {
xaxis: {
label: xLabel,
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ticks
},
yaxis: {
label: yLabel
}
},
});
我试图达到如下图所示
如果您为 2 个折线图定义 2 个附加系列:
// Series for line graphs
var S4 = [46, 38, 48, 47];
var S5 = [33, 23, 38, 11];
并确保除了 S1、S2 和 S3 之外,还将这些参数作为参数传入:
$.jqplot('graph_stacked', [S1, S2, S3, S4, S5], {
然后添加一个 series
对象来定义您要为每个系列使用的渲染器。这里前 3 个使用 BarRenderer and the last 2 use the LineRenderer:
series: [{
label: 'Total Number of Distributors',
renderer: $.jqplot.BarRenderer
}, {
label: 'Number of Distributors with at Least One Registered User',
renderer: $.jqplot.BarRenderer
}, {
label: 'Number of Active Distributors',
renderer: $.jqplot.BarRenderer
}, {
label: 'CMH Coverage %',
renderer: $.jqplot.LineRenderer
}, {
label: 'Distributor Utilization Rate',
renderer: $.jqplot.LineRenderer
}]
然后为 2 个新的折线图添加额外的颜色:
seriesColors: ['#5882FA', '#DF7401', '#A4A4A4', '#ff00ff', '#00ffff'],
请参阅 here 以获得演示。
编辑: 更新有关 y2 轴的查询:
在现有的 ya 轴旁边定义一个 y2 轴。确保 showGridline
设置为 false,以便它使用与 yaxis 相同的网格:
y2axis:{
label: y2Label,
min:0,
max:120,
tickOptions:{showGridline:false}
}
然后修改每个 series
以便它们使用相关的 yaxis 渲染器。在这种情况下,所有条形图都使用 yaxis
,折线图使用 y2axis
:
series: [{
label: 'Total Number of Distributors',
renderer: $.jqplot.BarRenderer,
yaxis: 'yaxis'
},
...
{
label: 'Distributor Utilization Rate',
renderer: $.jqplot.LineRenderer,
yaxis: 'y2axis'
}]
有关演示,请参阅 here。