- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Google Visualization ColumnChart 中的每两列之间添加更大的空间,并且一直在使用 bar groupWidth 属性来实现这一点,下面的代码显示了这一点:
<script type="text/javascript">
google.charts.load('current', {
packages: ['corechart', 'controls', 'charteditor']
}).then(function () {
var data = google.visualization.arrayToDataTable([@Html.Raw(ViewBag.ChartOutput)]);
var width = Math.min(document.documentElement.clientWidth, window.innerWidth || 0) + 'px';
// define bars series colors
var colors = ["#FF9900", "#FF6400", "#FF0000", "#9A0033"];
var lineColors = ['#4422EE', '#0F1657'];
// define filter columns
var columnsTable = new google.visualization.DataTable();
columnsTable.addColumn('number', 'Series #');
columnsTable.addColumn('string', 'Select series: ');
var initState = { selectedValues: [] };
for (var i = 1; i < data.getNumberOfColumns(); i++) {
var colIndex = columnsTable.addRow([i, data.getColumnLabel(i)]);
initState.selectedValues.push(data.getColumnLabel(i));
// assign series type, axis, and color -- store using row properties
switch (data.getColumnLabel(i)) {
case 'Baseline - Acute':
case 'Baseline - Risk':
case 'Baseline - Any':
case 'Review - Acute':
case 'Review - Risk':
case 'Review - Any':
columnsTable.setRowProperty(colIndex, 'type', 'bars');
columnsTable.setRowProperty(colIndex, 'targetAxisIndex', 0);
columnsTable.setRowProperty(colIndex, 'color', colors[colIndex]);
break;
}
}
// define chart
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
// define filter
var filter = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'filter_div',
dataTable: columnsTable,
options: {
filterColumnIndex: 1,
ui: {
caption: 'Series',
sortValues: false
}
},
state: initState
});
// draw chart when filter is ready or changed
google.visualization.events.addListener(filter, 'ready', drawChart);
google.visualization.events.addListener(filter, 'statechange', drawChart);
// draw filter
filter.draw();
// draw chart
function drawChart() {
var options = {
hAxis: {
slantedText: true,
slantedTextAngle: 30,
title: 'Reporting Period'
},
vAxes: {
0: { logScale: false, title: '@Model.XAxis', minValue: 0 }
},
series: {},
chartArea: {
top: 40,
left: 100,
width: '80%'
},
pointSize: 5,
legend: { position: 'top' },
width: width,
height: '300px',
colors: lineColors,
lineWidth: 3.5
};
// define data view column and series options based on filter columns
var viewColumns = [0];
var state = filter.getState().selectedValues;
state.forEach(function (column, index) {
var colIndex;
// find filter column index
for (var i = 0; i < columnsTable.getNumberOfRows(); i++) {
if (columnsTable.getValue(i, 1) === column) {
colIndex = i;
}
}
viewColumns.push(colIndex + 1);
// define series option
options.series[index] = {
type: columnsTable.getRowProperty(colIndex, 'type'),
targetAxisIndex: columnsTable.getRowProperty(colIndex, 'targetAxisIndex')
};
if (colIndex < 6) {
options.series[index].color = columnsTable.getRowProperty(colIndex, 'color');
if (colIndex % 2 === 0) {
options.series[index] = { bar: {groupWidth: '100%'}}
}
}
});
// define data view
var dataView = new google.visualization.DataView(data);
dataView.setColumns(viewColumns);
// ensure enough columns selected to draw chart
if (viewColumns.length > 1) {
chart.draw(dataView, options);
} else {
chart.clearChart();
}
}
var chart1 = "done";
$(window).resize(function() {
if(chart1 === "done"){
chart1 = "waiting";
setTimeout(function(){drawChart();chart1 = "done"},0);
}
});
});
</script>
下面是我用来执行此操作的 javascript 部分:
if (colIndex < 6) {
options.series[index].color = columnsTable.getRowProperty(colIndex, 'color');
if (colIndex % 2 === 0) {
options.series[index] = { bar: {groupWidth: '100%'}}
}
到目前为止,设置对当前看起来像这样的 ColumnChart 的显示没有影响:
如何修改代码以实现上图中所示 ColumnChart 所需的样式可能需要每组两列之间的列宽?
完成的样式应模拟下图中显示的所有报告期间的 2015/16 中的列:
我在 JSFiddle 中提供了一个输出的工作示例:
最佳答案
没有选项会增加系列之间的间距,
但您可以在两者之间添加一系列空白数据。
然后我们可以使用以下系列选项从图表中隐藏系列...
color: 'transparent', // <-- ensure bar is not visible
enableInteractivity: false, // <-- prevent tooltip, etc.
visibleInLegend: false // <-- hide from legend
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var options = {
hAxis: {
slantedText: true,
slantedTextAngle: 30,
title: 'Reporting Period'
},
vAxes: {
0: { logScale: false, title: 'No. of clients', minValue: 0 },
1: { logScale: false, title: 'Average no. of days use', maxValue: 28, minValue: 0 }
},
series: {
2: {
color: 'transparent',
enableInteractivity: false,
visibleInLegend: false
},
5: {
color: 'transparent',
enableInteractivity: false,
visibleInLegend: false
}
},
chartArea: {
top: 40,
left: 100,
width: '80%'
},
pointSize: 5,
legend: { position: 'top' },
height: '300px',
lineWidth: 3.5
};
var data = google.visualization.arrayToDataTable([
['Outcomes','Baseline - Acute','Review - Acute','blank','Baseline - Risk','Review - Risk','blank','Baseline - Any','Review - Any'],
['2015/16',5794,4096,0,2323,1785,0,6073,4281],
['2016/17',5692,4140,0,2178,1785,0,5909,4323],
['2017/18',5680,4131,0,2479,1946,0,5989,4396]
]);
var container = document.getElementById('chart_div');
var chart = new google.visualization.ColumnChart(container);
chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
关于javascript - Google Visualization API - JQuery - 增加 ColumnChart 中每两个条的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56787778/
我有以下与 ColumnChart ( https://developers.google.com/chart/interactive/docs/gallery/columnchart ) 相关的问题
有谁知道我是否可以破解谷歌的可视化 ColumnChart api以某种方式绘制图表,使单个列以不同的颜色突出显示,如下所示: 我知道您可以使用 ImageChart 做到这一点,所以我不需要它(它不
我想我已经尝试了所有方法,但我无法解决这个问题。 对于每家公司,我需要用该公司的颜色分组并显示 3 个条形图,并为每个条形图显示注释。 我只能得到这样的东西: 但是我真正需要的是这样的: 我已经花了超
我正在使用 Google Chart显示Column Chart两件事: 1)成功 2) 失败 For Success : Color = Green For Failed : Color = Red
我正在尝试使用 Google charts 进行专栏聊天纵轴为数字,横轴为日期。由于某种原因,日期格式不打印小时、分钟或秒。它确实适用于年、月和日。 我使用格式“M-d, HH:mm:ss”来格式化和
我有一个只有一列的柱形图栏,我想在栏的顶部放置一个图标。这个栏是随机动态变化的。我检查了互联网和 Google Chart API 上的一些来源,但找不到解决方案。是有什么办法吗?下面你可以看到属于我
我试图通过向为列绘制的 SVG 矩形添加渐变来向 Google ColumnChart 添加一些 pizazz。下面的代码将向 iframe svg>defs 添加渐变,并在我目前关心的所有浏览器(F
我正在使用以下显示柱形图作为我的记录,我想在生成的条形之间留出空格,请帮忙。 google.load("visualization", "1", {packag
我想将 ColumnChart 中的标题拆分为 2(或更多)行。 (见 https://developers.google.com/chart/interactive/docs/gallery/col
原帖: 我创建了一个 fiddle 来演示我的数据如何来自 JSON 并在 ColumnChart 中呈现。 https://jsfiddle.net/w4dokdt9/3/ 我的JSON是这样过来的
我像这样使用 Google Visualization 的 ColumnChart 制作了一个图表。 它基本上是一个使用 3 x 7 矩阵的堆积柱形图。在每个栏中,我删除了另外两行的数据。我的问题是如
我正在从 Google Charts API 构建一个堆叠的 ColumnChart,一切都很好 - 大部分情况下。它是带有双 y 轴的股票信息。 仅在 chrome 中,当我将 viewWindow
我将 Flex ColumnChart 与多个 ColumnSeries 一起使用。我想在 ColumnSeries 条/列之间添加空间。 我是什么意思?如果你看 Adobe LiveDocs for
我想在 Google Visualization ColumnChart 中的每两列之间添加更大的空间,并且一直在使用 bar groupWidth 属性来实现这一点,下面的代码显示了这一点:
我对 Flex 还不太熟悉,我正在使用 Flash Builder 4.5。我很沮丧..从昨天早上开始就试图解决这个问题,但似乎没有足够的资源来了解有关 Flex 的更多信息! 所以问题是:我有一个带
如何将 styleSheet 应用于 flex 中 ColumnChart 控件的数据提示? 谢谢。 最佳答案 在绑定(bind)到您的应用程序的 css 文件中,您编写: @namespace s
我在设置柱形图中的条形宽度时遇到问题。 到目前为止,我设置了以下选项: private Options createOptions() { Options options = Opti
我们如何将下方“已执行”列的默认颜色更改为“绿色”,将“未执行”列的默认颜色更改为“红色”?我尝试使用系列/颜色,但没有成功。 我尝试在选项和下面的 View 中添加颜色参数、系列。没有任何效果。 代
我在为图表创建的柱形图包中使用 google api 图表。但在这个图表中不能删除y轴线并且不能设置y轴格式。 google.load("visualiza
我正在尝试从 react-google-charts 渲染一个 ColumnChart https://rakannimer.github.io/react-google-charts/#/examp
我是一名优秀的程序员,十分优秀!