- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 amcharts4 库来构建快速图表。我首先使用了谷歌图表,当我使用相同的数据时,两个库显示不同的图表。
Google 图表 ( https://codepen.io/anon/pen/EJeXae )
var hashDelimiter = ',';
var maxDataPoints = 1500; // How many datapoints before we start erasing them
var chartType = 'area';
var snmpProcessor = 'https://api.myjson.com/bins/8se3o';
var invertInOut = false;
// Global variables
var charts = null;
var chartOptions = null;
var chartData = null;
$("#title").hide();
$("#content").html('').addClass('fullChart');
fixBodyHeight();
$( window ).resize(fixBodyHeight);
getChartData();
// Load the Chart
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(function () {
chartData = new google.visualization.DataTable();
chartData.addColumn('datetime', 'Time');
chartData.addColumn('number', 'Traffic In', 'style');
chartData.addColumn('number', 'Traffic Out');
chartOptions = {
title: name,
curveType: 'function',
legend: {
position: 'top',
alignment: 'end',
},
vAxis: {
format: '# Mbps',
minValue: 0,
},
hAxis: {
},
colors: ['#0f0', '#00f'],
series: {
0: {
'line-width': 3,
},
1: {
'line-width': 1,
},
},
pointSize: 4,
chartArea: {
right: 5,
left: '7%',
bottom: 20,
top: 60,
},
};
if (chartType == 'area') {
chartOptions.pointSize = 0;
charts = new google.visualization.AreaChart(document.getElementById('content'));
} else {
charts = new google.visualization.LineChart(document.getElementById('content'));
}
charts.draw(chartData, chartOptions);
});
function getChartData() {
$.get(snmpProcessor, function( d ) {
$.each(d, function(index, element) {
if (element.inDiff > 0 && element.outDiff > 0) {
if (invertInOut) {
addChartPoint(new Date(element.time * 1000), element.timeDiff, element.outDiff, element.inDiff);
} else {
addChartPoint(new Date(element.time * 1000), element.timeDiff, element.inDiff, element.outDiff);
}
}
});
});
}
function addChartPoint(time, timeDiff, dataIn, dataOut) {
dataIn = dataIn / 100000 / timeDiff;
dataOut = dataOut / 100000 / timeDiff;
//dataIn = (dataIn*8) / (1024*1024) / timeDiff;
//dataOut = (dataOut*8) / (1024*1024) / timeDiff;
if (chartData) {
chartData.addRow([time, dataIn, dataOut]);
if (chartData.getNumberOfRows() > maxDataPoints) {
chartData.removeRows(0, chartData.getNumberOfRows() - maxDataPoints + 1);
}
charts.draw(chartData, chartOptions);
}
}
function fixBodyHeight() {
$("#content").css('height', $( window ).innerHeight()+'px');
if (chartData) {
charts.draw(chartData, chartOptions);
}
}
function parseQueryString() {
var queryString = location.search.substr(1);
var params = {}, queries, temp, i, l;
queries = queryString.split("&");
for ( i = 0, l = queries.length; i < l; i++ ) {
temp = queries[i].split('=');
params[temp[0]] = temp[1];
}
return params;
}
html, body {
margin: 0;
padding: 0;
}
.click {
cursor: pointer;
}
.fullChart {
width: 100%;
height: 100%;
overflow: hidden;
}
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<h1 id="title"></h1>
<div id="content"></div>
这里是 amcharts4 ( https://codepen.io/anon/pen/XQPgXB )
am4core.useTheme(am4themes_animated);
var chart = am4core.create("chartdiv", am4charts.XYChart);
chart.dataSource.url = "https://api.myjson.com/bins/8se3o";
chart.dataSource.events.on("parseended", function(ev) {
// parsed data is assigned to data source's `data` property
var data = ev.target.data;
data.sort(function(lhs, rhs) {
return lhs.time - rhs.time;
});
data.forEach(function(item) {
item.time *= 1000;
});
});
chart.dateFormatter.inputDateFormat = "x";
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.dateFormats.setKey("minute", "MMM dd\nHH:mm");
dateAxis.periodChangeDateFormats.setKey("minute", "MMM dd\nHH:mm");
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.tooltip.disabled = true;
var series = chart.series.push(new am4charts.LineSeries());
series.dataFields.dateX = "time";
series.name = "outDiff";
series.dataFields.valueY = "outDiff";
series.tooltipHTML = "<span style='font-size:14px; color:#000000;'><b>{valueY.value}</b></span>";
series.tooltipText = "[#000]{valueY.value}[/]";
series.tooltip.background.fill = am4core.color("#FFF");
series.tooltip.getStrokeFromObject = true;
series.tooltip.background.strokeWidth = 3;
series.tooltip.getFillFromObject = false;
series.fillOpacity = 0.6;
series.strokeWidth = 2;
series.stacked = true;
var series2 = chart.series.push(new am4charts.LineSeries());
series2.name = "inDiff";
series2.dataFields.dateX = "time";
series2.dataFields.valueY = "inDiff";
series2.tooltipHTML = "<span style='font-size:14px; color:#000000;'><b>{valueY.value}</b></span>";
series2.tooltipText = "[#000]{valueY.value}[/]";
series2.tooltip.background.fill = am4core.color("#FFF");
series2.tooltip.getFillFromObject = false;
series2.tooltip.getStrokeFromObject = true;
series2.tooltip.background.strokeWidth = 3;
series2.sequencedInterpolation = true;
series2.fillOpacity = 0.6;
series2.stacked = true;
series2.strokeWidth = 2;
chart.cursor = new am4charts.XYCursor();
chart.cursor.xAxis = dateAxis;
chart.scrollbarX = new am4core.Scrollbar();
chart.legend = new am4charts.Legend();
chart.legend.position = "top";
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
#chartdiv {
width: 100%;
height: 500px;
}
<script src="https://www.amcharts.com/lib/4/core.js"></script>
<script src="https://www.amcharts.com/lib/4/charts.js"></script>
<script src="https://www.amcharts.com/lib/4/themes/animated.js"></script>
<div id="chartdiv"></div>
这两个图表不完全一样,我不知道去哪里看。 amcharts4 加载图表确实更快。
最佳答案
您的 am4charts-Chart 是堆叠的(这意味着两个数据系列都加起来了),而 Google 图表不是。
更改谷歌图表选项
chartOptions = {
title: name,
curveType: 'function',
legend: {
position: 'top',
alignment: 'end',
},
isStacked: true,
vAxis: {
format: '# Mbps',
minValue: 0,
},
hAxis: {
},
colors: ['#0f0', '#00f'],
series: {
0: {
'line-width': 3,
},
1: {
'line-width': 1,
},
},
pointSize: 4,
chartArea: {
right: 5,
left: '7%',
bottom: 20,
top: 60,
},
};
保持 isStacked: true
以实现相同的图表(或将 am4chart 更改为未堆叠)。
https://developers.google.com/chart/interactive/docs/gallery/areachart#stacking-areas
https://www.amcharts.com/docs/v4/chart-types/xy-chart/#Stacking
关于javascript - 在谷歌图表和 amcharts4 之间没有得到相同的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808265/
这两个包看起来非常相似: http://www.passportjs.org/packages/passport-google-oauth2/ http://www.passportjs.org/pa
我想在我的网站上添加通过 Google 和 Twitter 登录的按钮。我需要只使用应用程序的客户端而不是服务器端来完成此操作。但我没有找到任何 API。对于我发现的所有内容,我需要使用带有 key
我使用此链接通过 google plus 共享我的页面。 https://plus.google.com/share?url=http%3A%2F%2Fexample.com%2Fcompany%2
我正在尝试学习 google API,并且我的经验是使用 Python,因此我尝试使用 google api python 客户端来访问一些 google 服务,但在构建服务对象时遇到错误。 从 ap
在其实际的实时托管平台上构建实时站点的努力中,有没有办法告诉谷歌不要索引该网站?我发现了以下内容: http://support.google.com/webmasters/bin/answer.py
我正在开发一个 iOS 应用程序。当我运行用于 google+ 登录的程序时,在我点击允许访问按钮后,会显示此消息。 You've reached this page because we have
我有一个非常复杂的网站,每个页面包含 11 个 js 文件。 我最近添加了 google +1 按钮,代码如下: 这会正确显示 +1 按钮,直到我单击它。当我单击它时,出现此错误:https://
我正在尝试使用 google API 创建一个 html 文件,以便在 google MAPS 上显示 KML 文件。 这是 HTML 代码: function initMap() {
我是使用 Google Benchmark 的新手,在本地运行代码与在 Quick-Bench.com 上运行代码时,我收到了运行相同基准测试(下方)的不同结果,该基准测试使用 C++ 检索本地时间.
我已按照 Google 网站上的说明通过添加以下元标记在我的 AngularJS 网站上启用 Ajax 抓取: 呈现的内容有一些链接,如: User 1 User 2 User 3 还有一些呈现动态
通过 Google 手册实现 Google AppInvite - link . 启动 Invite Activity 并在 LogCat 中获取下一步: E/AppInviteAgent: Get
那么有人用过 Google 的 Go 吗?我想知道数学性能(例如触发器)与其他具有垃圾收集器的语言(如 Java 或 .NET)相比如何? 有人调查过吗? 最佳答案 理论性能:纯 Go 程序的理论性能
Stackdriver 测试我的网站启动速度慢 我们使用 cloudflare 作为我们的站点 CDN 提供商。我们使用 stackdriver 从外部测试站点可用性,我们将时间检查间隔设置为 1 分
我正在尝试使用 stax.GeneralConv() ( https://jax.readthedocs.io/en/latest/_modules/jax/experimental/stax.htm
我有一个从谷歌金融中提取日内数据的软件。但是,由于昨天 Google 更新了 API,所以软件报错了 Conversion from string HTML HEAD meta http-equiv=
我们在尝试从 Google 获取 oAuth token 时遇到“redirect_uri_mismatch”错误: [client 127.0.0.1:49892] {\n "error" : "
我的网站正在使用 Google reCAPTCHA 控件,但我听说它被阻止了 中国,反正我看到有人报告说将 API 更改为 https://www.recaptcha.net在中国工作? Anyone
背景 WordPress Google Adsense 谷歌自动插入 anchor 定广告 https://pptmon.com 问题 如下图所示,主播广告的容器高度太大了! 如何调整高度? 这是谷歌
我在使用 Google Colab 时遇到问题。当我想制作一个新的 Python3 Notebook 时,由于我登录了我的 Google 帐户,因此无法加载刚刚打开的新页面。 我该怎么办? 感谢您的帮
我正在使用 facebook和 google oauth2使用 passport js 登录, 有了这个流 用户点击登录按钮 重定向到 facebook/google auth 页面(取决于用户选择的
我是一名优秀的程序员,十分优秀!