将多种颜色应用于谷歌图表中的单个元素
Applying multiple colors to a single element in google charts
下面指的是 c# cshtml 页面中的 javascript 脚本。
我已经自定义了(在这个论坛的帮助下)谷歌图表,条形图,允许我单击每一列并将我带到另一个页面。我现在希望编辑这些列的颜色,但他们谷歌图表布置条形图的方式似乎让这有点尴尬。
在每个标题/列下,他们似乎假设您将放置多个值(条形),并且可以自定义每个标题/列下的条形颜色。但是我每个标题都有一个值,因此当将颜色应用于标题 1 值 1 时,它会将该颜色应用于所有其他标题/列下的第一个(在我的情况下是唯一值)。
我想知道是否有一个 id 类型值,我可以硬编码并为该 id 分配颜色。
我写的脚本如下,所有四个条形图都是蓝色的:
<script type="text/javascript">
@{
<text>
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Job State', 'link', 'Number of Jobs'],
['Total Jobs', 'LINK', @Model.VARIABLE],
['Live Jobs', 'LINK', @Model.VARIABLE],
['Draft Jobs', 'LINK', @Model.VARIABLE],
['Closed Jobs', 'LINK', @Model.VARIABLE]
]);
var view = new google.visualization.DataView(data);
view.setColumns([0, 2]);
var options = {
title: "Job State Overview",
width: 600, height: 400,
vAxis: { title: "Number Of Jobs" },
hAxis: { title: "Job States " },
colors: ['blue', 'red', 'green', 'black']
};
var chart = new google.visualization.ColumnChart(
document.getElementById('chart_div'));
chart.draw(view, options);
var selectHandler = function (e) {
window.location = data.getValue(chart.getSelection()[0]['row'], 1);
}
google.visualization.events.addListener(chart, 'select', selectHandler);
}
</text>
}
</script>
我找到了一个技巧来绕过它,但它并不理想,因为它缩小了条形的大小:
按如下方式替换输入数组:
var data = google.visualization.arrayToDataTable([
['Job State', 'link', 'Total Jobs', 'Live Jobs', 'Draft Jobs', 'Closed Jobs'],
['Total Jobs', '@Url.Content(string.Format("~/Activities/level1?job_Type_Id=5"))', @Model.jobCount, 0, 0, 0],
['Live Jobs', '@Url.Content(string.Format("~/Activities/level1?job_Type_Id={0}",(int)JobState.GoLive))', 0,@Model.liveJobCount, 0, 0],
['Draft Jobs', '@Url.Content(string.Format("~/Activities/level1?job_Type_Id={0}",(int)JobState.Draft))', 0, 0,@Model.draftJobCount, 0],
['Closed Jobs', '@Url.Content(string.Format("~/Activities/level1?job_Type_Id={0}",(int)JobState.Closed))', 0, 0, 0,@Model.closedJobCount]
]);
相关文章:
- 如何创建具有单个元素或元素数组的数组
- 扩展验证.js并验证单个元素
- <noscript>标记单个元素或类似的东西
- 在javascript中阻止文档执行默认操作时,在单个元素中使用默认事件
- 从单个元素中Jquery关闭事件
- 为什么 .data() 适用于一组元素,但不适用于单个元素
- 将 CSS 类添加到数组中的单个元素
- 当文档中的单个元素准备就绪时触发事件的最佳方法
- 将多种颜色应用于谷歌图表中的单个元素
- jQuery each - 绑定到所有元素而不是单个元素
- 当无法使用 $(this) 时,目标单个元素
- 如何将样式应用于类的单个元素,同时从同一类的前一个元素中删除样式
- 单个元素的多个单击处理程序
- 动态挖空模板仅接受单个元素而不是数组
- 在对象中的单个元素上使用jQuery .append
- 当来自不同页面时,如何显示/隐藏单个元素
- 在单个元素上使用fancybox时,如何对其进行分组
- 在单个元素上跟踪多个GA事件
- 当通过jQuery插入DOM时,什么时候应该将HTML字符串包装在单个元素中
- AngularJS-如何从嵌套数组中获取单个元素