- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一如既往,我感谢这里的专家!
该复选框应切换图表中的第五列。 (红色球门线)
函数colToggle()
一般来说是有效的,因为 switch
让我向右case
。
chart.setView([0, 1, 2, 3, 4]);
没有做任何事情,我不确定我是否得到了正确的方法或语法。
知道如何切换线路吗? (考虑仪表板设置)
// Load the Visualization API and the corechart package.
google.charts.load('current', {
'packages': ['corechart', 'table', 'gauge', 'controls']
});
// Set a callback to run when the Google Visualization API is loaded.
google.charts.setOnLoadCallback(gChart0);
function gChart0() {
drawDashboard(0, 0);
};
function drawDashboard(p1, v1) {
//var urlString_temp = 'https://httpbin.org/get'; //HTTP Test server that accepts GET/Post calls
var urlString_temp = 'https://jsonplaceholder.typicode.com/users'; //HTTP Test server that accepts GET/Post calls
$.ajax({
type: 'GET',
dataType: 'json',
contentType: "application/json",
//url: urlString,
url: urlString_temp,
success: function(result) {
//Manually loaded "result" with JSON that normally comes from "urlString".
result = [{
calDay: new Date(2017, 10, 15),
'v1': 100,
'v2': 500,
'p1': '982G01',
'p2': '301',
'p3': 'EZRS',
'p4': 'A'
}, {
calDay: new Date(2017, 10, 16),
'v1': 110,
'v2': 510,
'p1': '982G01',
'p2': '301',
'p3': 'EZRS',
'p4': 'A'
}, {
calDay: new Date(2017, 10, 17),
'v1': 120,
'v2': 520,
'p1': '982G01',
'p2': '301',
'p3': 'EZRS',
'p4': 'A'
}, {
calDay: new Date(2017, 10, 15),
'v1': 130,
'v2': 530,
'p1': '982G01',
'p2': '301',
'p3': 'EZFE',
'p4': 'B'
}, {
calDay: new Date(2017, 10, 16),
'v1': 140,
'v2': 540,
'p1': '982G01',
'p2': '301',
'p3': 'EZFE',
'p4': 'B'
}, {
calDay: new Date(2017, 10, 17),
'v1': 150,
'v2': 550,
'p1': '982G01',
'p2': '301',
'p3': 'EZFE',
'p4': 'B'
}, {
calDay: new Date(2017, 10, 15),
'v1': 160,
'v2': 560,
'p1': '982G01',
'p2': '301',
'p3': 'EZ',
'p4': 'C'
}, {
calDay: new Date(2017, 10, 16),
'v1': 170,
'v2': 570,
'p1': '982G01',
'p2': '301',
'p3': 'EZ',
'p4': 'C'
}, {
calDay: new Date(2017, 10, 17),
'v1': 180,
'v2': 580,
'p1': '982G01',
'p2': '301',
'p3': 'EZ',
'p4': 'C'
}, {
calDay: new Date(2017, 10, 15),
'v1': 190,
'v2': 590,
'p1': '982G01',
'p2': '302',
'p3': 'EZRS',
'p4': 'D'
}, {
calDay: new Date(2017, 10, 16),
'v1': 200,
'v2': 600,
'p1': '982G01',
'p2': '302',
'p3': 'EZRS',
'p4': 'D'
}, {
calDay: new Date(2017, 10, 17),
'v1': 210,
'v2': 610,
'p1': '982G01',
'p2': '302',
'p3': 'EZRS',
'p4': 'D'
}, {
calDay: new Date(2017, 10, 15),
'v1': 220,
'v2': 620,
'p1': '982G01',
'p2': '302',
'p3': 'EZFE',
'p4': 'E'
}, {
calDay: new Date(2017, 10, 16),
'v1': 230,
'v2': 630,
'p1': '982G01',
'p2': '302',
'p3': 'EZFE',
'p4': 'E'
}, {
calDay: new Date(2017, 10, 17),
'v1': 240,
'v2': 640,
'p1': '982G01',
'p2': '302',
'p3': 'EZFE',
'p4': 'E'
}, {
calDay: new Date(2017, 10, 15),
'v1': 250,
'v2': 650,
'p1': '982G01',
'p2': '302',
'p3': 'EZ',
'p4': 'F'
}, {
calDay: new Date(2017, 10, 16),
'v1': 260,
'v2': 660,
'p1': '982G01',
'p2': '302',
'p3': 'EZ',
'p4': 'F'
}, {
calDay: new Date(2017, 10, 17),
'v1': 270,
'v2': 670,
'p1': '982G01',
'p2': '302',
'p3': 'EZ',
'p4': 'F'
}, {
calDay: new Date(2017, 10, 15),
'v1': 280,
'v2': 680,
'p1': '982G02',
'p2': '401',
'p3': 'EZRS',
'p4': 'G'
}, {
calDay: new Date(2017, 10, 16),
'v1': 290,
'v2': 690,
'p1': '982G02',
'p2': '401',
'p3': 'EZRS',
'p4': 'G'
}, {
calDay: new Date(2017, 10, 17),
'v1': 300,
'v2': 700,
'p1': '982G02',
'p2': '401',
'p3': 'EZRS',
'p4': 'G'
}, {
calDay: new Date(2017, 10, 15),
'v1': 310,
'v2': 710,
'p1': '982G02',
'p2': '401',
'p3': 'EZFE',
'p4': 'H'
}, {
calDay: new Date(2017, 10, 16),
'v1': 320,
'v2': 720,
'p1': '982G02',
'p2': '401',
'p3': 'EZFE',
'p4': 'H'
}, {
calDay: new Date(2017, 10, 17),
'v1': 330,
'v2': 730,
'p1': '982G02',
'p2': '401',
'p3': 'EZFE',
'p4': 'H'
}, {
calDay: new Date(2017, 10, 15),
'v1': 340,
'v2': 740,
'p1': '982G02',
'p2': '401',
'p3': 'EZ',
'p4': 'I'
}, {
calDay: new Date(2017, 10, 16),
'v1': 350,
'v2': 750,
'p1': '982G02',
'p2': '401',
'p3': 'EZ',
'p4': 'I'
}, {
calDay: new Date(2017, 10, 17),
'v1': 360,
'v2': 760,
'p1': '982G02',
'p2': '401',
'p3': 'EZ',
'p4': 'I'
}, {
calDay: new Date(2017, 10, 15),
'v1': 370,
'v2': 770,
'p1': '982G02',
'p2': '402',
'p3': 'EZRS',
'p4': 'J'
}, {
calDay: new Date(2017, 10, 16),
'v1': 380,
'v2': 780,
'p1': '982G02',
'p2': '402',
'p3': 'EZRS',
'p4': 'J'
}, {
calDay: new Date(2017, 10, 17),
'v1': 390,
'v2': 790,
'p1': '982G02',
'p2': '402',
'p3': 'EZRS',
'p4': 'J'
}, {
calDay: new Date(2017, 10, 15),
'v1': 400,
'v2': 800,
'p1': '982G02',
'p2': '402',
'p3': 'EZFE',
'p4': 'K'
}, {
calDay: new Date(2017, 10, 16),
'v1': 410,
'v2': 810,
'p1': '982G02',
'p2': '402',
'p3': 'EZFE',
'p4': 'K'
}, {
calDay: new Date(2017, 10, 17),
'v1': 420,
'v2': 820,
'p1': '982G02',
'p2': '402',
'p3': 'EZFE',
'p4': 'K'
}, {
calDay: new Date(2017, 10, 15),
'v1': 430,
'v2': 830,
'p1': '982G02',
'p2': '402',
'p3': 'EZ',
'p4': 'L'
}, {
calDay: new Date(2017, 10, 10),
'v1': 440,
'v2': 840,
'p1': '982G02',
'p2': '402',
'p3': 'EZ',
'p4': 'L'
}, {
calDay: new Date(2017, 9, 31),
'v1': 450,
'v2': 850,
'p1': '982G02',
'p2': '402',
'p3': 'EZ',
'p4': 'L'
}];
//Create DataTable
var data = new google.visualization.DataTable();
//Add Columns
data.addColumn('date', 'Calendar Day'); //0 calDay
data.addColumn('number', 'EZRS'); //1 case v1 to bar1
data.addColumn('number', 'EZFE'); //2 case v1 to bar2
data.addColumn('number', 'EZ'); //3 case v1 to bar3
data.addColumn('number', 'Other'); //4 case v1 to bar4
data.addColumn('number', 'Goal'); //5 v2 goal line
data.addColumn('string', 'Overhead Group'); //6 p1
data.addColumn('string', 'MRP'); //7 p2
data.addColumn('string', 'MBR Stock Category'); //8 p3
data.addColumn('string', 'Material'); //9 p4
//Add Rows
var dataArray = [];
$.each(result, function(i, obj) {
var bar1 = 0; //EZRS
var bar2 = 0; //EZFE
var bar3 = 0; //EZ
var bar4 = 0; //Other
switch (obj.p3) {
case 'EZRS':
bar1 = obj.v1;
break;
case 'EZFE':
bar2 = obj.v1;
break;
case 'EZ':
bar3 = obj.v1;
break;
default:
bar4 = obj.v1;
}
dataArray.push([
obj.calDay,
bar1, bar2, bar3, bar4, obj.v2,
obj.p1, obj.p2, obj.p3, obj.p4,
]);
});
data.addRows(dataArray);
//Create Data View
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
// Create a dashboard.
var dashboard = new google.visualization.Dashboard(
document.getElementById('div_dashboard'));
//When this is commented out - the category picker works
var categoryPicker1 = new google.visualization.ControlWrapper({
'controlType': 'ChartRangeFilter',
'containerId': 'div_categoryPicker1',
//'view': { columns: [0, 1, 2, 3, 4] },
'options': {
'filterColumnIndex': 0,
'ui': {
'chartType': 'LineChart',
'chartView': {
'columns': [0, 1]
},
'chartOptions': {
'height': 50,
'chartArea': {
'width': '80%'
},
'series': {
//column 1 is first v1 - Start couting 0 here for series.
0: {
color: 'white'
}
},
}, //END chartOptions
} //END ui
} //END 'options'
}); //END categoryPicker1
var categoryPicker2 = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'div_categoryPicker2',
'options': {
'filterColumnIndex': 8, //Column used in control
'ui': {
//'label': 'Storage Bin',
'labelStacking': 'vertical',
'labelSeparator': ':',
'allowTyping': false,
'allowMultiple': false
}
}
});
var categoryPicker3 = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'div_categoryPicker3',
'options': {
'filterColumnIndex': 6, //Column used in control
'ui': {
//'label': 'Storage Bin',
'labelStacking': 'vertical',
'labelSeparator': ':',
'allowTyping': false,
'allowMultiple': false
}
}
});
var categoryPicker4 = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'div_categoryPicker4',
'options': {
'filterColumnIndex': 7, //Column used in control
'ui': {
//'label': 'Storage Bin',
'labelStacking': 'vertical',
'labelSeparator': ':',
'allowTyping': false,
'allowMultiple': false
}
}
});
var proxyTable = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'div_proxyTable',
'options': {
page: 'enable',
pageSize: '9' //to limit the render time with large data sets
},
'view': {
columns: [0, 1, 2, 3, 4, 5, 8, 6, 7]
}
});
var chart = new google.visualization.ChartWrapper({
'chartType': 'ComboChart',
'containerId': 'div_chart',
'view': {
columns: [0, 1, 2, 3, 4, 5]
},
'options': {
width: '100%',
height: 'auto',
seriesType: 'bars',
isStacked: true,
series: {
//column 1 is first v1 - Start couting 0 here for series.
0: {
color: 'rgb(0, 86, 145)'
},
1: {
color: 'rgb(0, 142, 207)'
},
2: {
color: 'rgb(127, 198, 231)'
},
3: {
color: 'rgb(191,192,194)'
},
4: {
color: 'rgb(226, 0, 21)',
type: 'line',
}
},
}
});
//Object binding
dashboard.bind([categoryPicker1, categoryPicker2, categoryPicker3, categoryPicker4], proxyTable);
dashboard.bind(categoryPicker2, categoryPicker3).bind(categoryPicker3, categoryPicker4);
//Draw dashboard
dashboard.draw(view);
//Event listeners
google.visualization.events.addListener(dashboard, 'ready', function() {
redrawChart();
if (document.addEventListener) {
document.getElementById("ck_colToggle").addEventListener("click", function() {
colToggle();
});
};
//Category Picker State Change
google.visualization.events.addListener(categoryPicker1, 'statechange', function() {
redrawChart();
});
google.visualization.events.addListener(categoryPicker2, 'statechange', function() {
redrawChart();
});
google.visualization.events.addListener(categoryPicker3, 'statechange', function() {
redrawChart();
});
google.visualization.events.addListener(categoryPicker4, 'statechange', function() {
redrawChart();
});
});
function redrawChart() {
chart.setDataTable(google.visualization.data.group(
proxyTable.getDataTable(), [0], [{
'column': 1,
'aggregation': google.visualization.data.sum,
'type': 'number'
}, {
'column': 2,
'aggregation': google.visualization.data.sum,
'type': 'number'
}, {
'column': 3,
'aggregation': google.visualization.data.sum,
'type': 'number'
}, {
'column': 4,
'aggregation': google.visualization.data.sum,
'type': 'number'
}, {
'column': 5,
'aggregation': google.visualization.data.sum,
'type': 'number'
}]));
chart.draw();
} //END function redrawChart()
function colToggle() {
var isChecked = document.getElementById("ck_colToggle").checked;
switch (isChecked) {
case true:
console.log('isTrue');
break;
case false:
console.log('isFalse');
chart.setView([0, 1, 2, 3, 4]);
break;
default:
console.log('other')
}
chart.draw();
}; //END function colToggle()
} //END success: function (result) {
}); //END $.ajax({
} //END function drawChart()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<span>
<input id="ck_colToggle" type="checkbox" checked="">
<label for="ck_colToggle">Goal (On/Off)</label>
</span>
<hr/>
<div id="div_dashboard" style="">
<table>
<tr>
<td>
<div id="div_categoryPicker2" style="margin-right:10px;"></div>
</td>
<td>
<div id="div_categoryPicker3" style="margin-right:10px;"></div>
</td>
<td>
<div id="div_categoryPicker4" style="padding-right:10px;"></div>
</td>
</tr>
</table>
<div id="div_chart" style=""></div>
<div id="div_categoryPicker1" style=""></div>
<div id="div_proxyTable" style=""></div>
</div>
最佳答案
评论者提供了这个有用的链接来回答我的问题。
check this answer, which uses checkboxes to turn off one or more series... – WhiteHat Jan 4 at 22:08
谢谢!
关于javascript - Google Charts - 仪表板打开/关闭数据系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48103573/
我已经能够在我的 Centos 7 服务器上成功设置 kubernetes。 在遵循 documentation 之后尝试使仪表板工作,运行“kubectl 代理”它 尝试使用 127.0.0.1:9
我正在尝试为用作仪表板的网络应用程序设计数据库架构。 可以有任意数量的仪表板(用户可以创建新的仪表板) 每个仪表板都与团队相关联(每个仪表板大约 10-25 个团队) 每个团队都有成员(每个团队约 1
我已经在 Windows VM 上部署了 minikube,并且 minikube VM 是在 Virtualbox 上使用仅主机 IP 创建的。 我已经使用 NodePort IP 部署了 Kube
我刚刚安装了 xampp-win32-5.5.30 并且在 xampp 控制面板中 Apache 和 mysql 都启动没有任何错误,但我发现: 1) 本地主机 在我的浏览器中重定向到另一个页面 本地
我是 ReactJS 的新手。我想在我的项目中使用 ReactJS-AdminLTE。谁能告诉我如何逐步使用它。 我遵循的步骤 1) 我使用 https://www.tutorialspoint.co
我们正在创建一个仪表板,用于显示给定系统在一段时间内(具体来说是过去 24 小时)内的异常数量。该图如下所示: 如果您仔细观察,最后一个柱形图是一天前的,而不是今天(请参阅图表中最后一个柱形图生成的时
我已经通过 Kubespray 成功部署了 Kubernetes,一切似乎都工作正常。我可以通过 kubectl 访问集群并列出节点、pod、服务、 secret 等。还可以应用新资源,仪表板端点可以
我在本地使用 KUBEADM 工具配置了具有 1 个主节点和 4 个工作节点的 kubernetes 集群。所有节点都运行良好。部署了一个应用程序并能够从浏览器访问该应用程序。我尝试了很多方法来使用
我们正在创建一个仪表板,用于显示给定系统在一段时间内(具体来说是过去 24 小时)内的异常数量。该图如下所示: 如果您仔细观察,最后一个柱形图是一天前的,而不是今天(请参阅图表中最后一个柱形图生成的时
我在 DashBoard Demo 看到了 PrimeFaces 仪表板演示。我目前有 PrimeFaces 1.1 jar。它可以工作还是我必须升级到下一个版本?我正在使用 JSF 1.2 和 Se
我不熟悉 Bootstrap 、HTML 以及与 Web 开发有关的所有内容。我正在使用 bootstrap 构建仪表板,我设法使基本布局正确。我的仪表板有一个顶部和侧面导航栏。 我现在想在不同页面之
这个问题在这里已经有了答案: Starting Shiny app after password input (6 个答案) 关闭 2 年前。 我正在制作一个 Shiny 的应用程序,它将显示一个仪
我正在尝试将 Grafana 仪表板的导入复制到 Grafana。 我正在使用下一个模块: - name: Export dashboard grafana_dashboard: graf
我按照本指南 link安装 kubernetes 集群,我没有错误,但我无法访问 kubernetes-Dashboard 我做了kubectl create -f https://rawgit.co
我们现在正在使用 Apache JMeter 3.1,并且对新功能 Dashboard 生成非常感兴趣。我们可以使用“-g”选项生成它并且它工作正常。 但我们也有兴趣自定义仪表板。例如: 从第一页删除
我是 wordpress 的新手,对某些东西有点困惑。我正在尝试为自己建立一个分类市场类型的网站。我不是为“客户” build 这个。由于我的编码技能达不到标准,我可能会使用几个不同的插件。最终,我希
是否可以有一个受限的 Kubernetes 仪表板?这个想法是让一个 pod 在集群中运行 kubectl proxy(受基本 HTTP 身份验证保护)以快速了解状态: pod 的日志输出 运行服务和
有人可以解释一下如何用 cocoa 读取(或至少下载为 XML 格式)吗?我就这样试过了。这可能是完全错误的:)。 NSMutableURLRequest* request = [[NSMutable
我想将我自己的部分添加到 umbraco 仪表板,以便我可以将我自己的管理部分集成到现有的登录/管理结构中。如果不编辑和重新编译 umbraco 源代码本身,这可能吗?是否推荐?如果是这样,是否有人有
我正在尝试使用配置文件访问 kubernetes 仪表板。从我选择配置文件时的身份验证中,它给出了‘ Not enough data to create auth info structure .’但
我是一名优秀的程序员,十分优秀!