我正在使用Chartist.js创建一个图表。我正在使用Google嵌入式API获取json数据。我有这个问题。该数组使用我给出的值。但它不适用于json的数据。
我的代码:
public void DoClick(string selectType, string selector)
{
switch (selectType)
{
case "ClassName":
driver.FindElement(By.ClassName(selector)).Click();
break;
case "CssSelector":
driver.FindElement(By.CssSelector(selector)).Click();
break;
case "Id":
driver.FindElement(By.Id(selector)).Click();
break;
}
}
它不起作用。但如果我像这样编写代码,它就可以工作。
var TotalBrowser = [];
var BrowserSeries = [];
var oxyn = {
queryAnalytics: function() {
var id = '164690638';
var expressions = [{
expression: 'ga:hits'
}];
var dimension = [{
name: 'ga:browser'
}];
oxyn.getReportQuery(id, '7daysago', 'today', expressions, dimension).then(function(response) {
var formattedJson = JSON.stringify(response.result, null, 2);
var data = JSON.parse(formattedJson);
var i = 0;
BrowserTotal = data.reports[0].data.totals[0].values[0];
jQuery(data.reports[0].data.rows).each(function() {
if (i <= 3) {
jQuery('#Browsers').append(browsericon[i] + this.dimensions[0]);
var percent = (parseInt(this.metrics[0].values[0]) / parseInt(BrowserTotal)) * 100;
BrowserSeries.push(Math.round(percent));
TotalBrowser.push(Math.round(percent) + '%');
i++;
}
});
demo.initChartist();
});
}
}
var demo = {
initChartist: function() {
var dataPreferences = {
series: [
[BrowserSeries.join()]
]
};
var optionsPreferences = {
donut: true,
donutWidth: 40,
startAngle: 0,
total: 100,
showLabel: false,
axisX: {
showGrid: false
}
};
Chartist.Pie('#chartPreferences', dataPreferences, optionsPreferences);
Chartist.Pie('#chartPreferences', {
labels: [TotalBrowser.join()],
series: [BrowserSeries.join()]
});
console.log(BrowserSeries.join());
}
};
这是有效的。
Chartist.Pie('#chartPreferences', {
labels: [TotalBrowser.join()],
series: [30, 70]
});
控制台输出
的console.log(BrowserSeries.join());
30,70
这是一个非常愚蠢的问题。
答案 0 :(得分:1)
Chartist.Pie('#chartPreferences', {
labels: TotalBrowser,
series: BrowserSeries
});
我们需要删除 [] 字符。我们还必须将数据直接发送到数组。