Charts 在Google折线图上切换X轴和Y轴
在我的X轴上是ip地址(字符串),Y轴上是百分比(数字),但是我想切换它们,当我尝试在代码上这样做时,我得到“给定轴上的所有系列必须具有相同的数据类型”错误。我认为这是因为它不允许第一列是数字 切换addColumn/addRow语句,以数字(内存使用和CPU使用)开始,以服务器IP结束。 使用arrayToDataTable而不是DataTableCharts 在Google折线图上切换X轴和Y轴,charts,google-visualization,Charts,Google Visualization,在我的X轴上是ip地址(字符串),Y轴上是百分比(数字),但是我想切换它们,当我尝试在代码上这样做时,我得到“给定轴上的所有系列必须具有相同的数据类型”错误。我认为这是因为它不允许第一列是数字 切换addColumn/addRow语句,以数字(内存使用和CPU使用)开始,以服务器IP结束。 使用arrayToDataTable而不是DataTable /*<![CDATA[*/ var serverStatuses = /*[[${server
/*<![CDATA[*/
var serverStatuses = /*[[${serverStatuses}]]*/ 'default';
/*]]>*/
var performanceData =new google.visualization.DataTable();
performanceData.addColumn('number', 'CPU Usage');
performanceData.addColumn('number', 'Memory Usage');
performanceData.addColumn('string', 'Server IP');
for (var n = 0; n < serverStatuses.length; n++) {
performanceData.addRow([serverStatuses[n].memoryUsage,
serverStatuses[n].cpuUsage,
serverStatuses[n].ipAddress]);
}
/**/
var performanceData=new google.visualization.DataTable();
performanceData.addColumn('number','CPU使用率');
performanceData.addColumn('number','Memory Usage');
addColumn('string','Server IP');
对于(var n=0;n
Y轴上的IP地址和X轴上的百分比。正如您所发现的,折线图的Y轴上不能有字符串。
有关详细信息,请参阅 但是,我们可以使用对象表示法以数字表示ip地址。
然后显示地址而不是数字 在google的数据表中加载单元格时,
我们可以提供一个内在值,例如-->
'127.0.0.1'
或者我们可以使用一个对象,同时提供值(v:
)和格式化值(f:
){v:0,f:'127.0.0.1'}
这将导致图表使用零作为值,但在图表上显示地址。通过将数据加载到数据表中,这解决了一半的问题 现在我们必须解决y轴上实际显示的标签问题。
在这里,我们可以使用
ticks
选项。ticks
选项将接受上述相同的对象符号。因此,如果我们想要y轴上的ip地址,请按如下所示提供
标记
[{v: 0, f: '127.0.0.1'}, {v: 0.1, f: '127.0.0.2'}, {v: 0.2, f: '127.0.0.3'}]
有关示例,请参见以下工作代码段
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var服务器状态=[
{memoryUsage:0.1,ipAddress:'127.0.0.1'},
{memoryUsage:0.3,ipAddress:'127.0.0.2'},
{memoryUsage:0.5,ipAddress:'127.0.0.3'},
{memoryUsage:0.7,ipAddress:'127.0.0.4'},
{memoryUsage:0.9,ipAddress:'127.0.0.5'},
];
var performanceData=new google.visualization.DataTable();
performanceData.addColumn('number','Memory Usage');
performanceData.addColumn('number','Server IP');
var=[];
forEach(函数(行、索引){
变量地址={
五:索引,,
f:row.ipAddress
};
axisTicks.push(地址);
performanceData.addRow([
罗.尤塞奇,
地址
]);
});
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(性能数据{
言辞:{
滴答声:轴滴答声
}
});
});代码>
正如您所发现的,折线图的y轴上不能有字符串。
有关详细信息,请参阅
但是,我们可以使用对象表示法以数字表示ip地址。
然后显示地址而不是数字
在google的数据表中加载单元格时,
我们可以提供一个内在值,例如-->'127.0.0.1'
或者我们可以使用一个对象,同时提供值(v:
)和格式化值(f:
)
{v:0,f:'127.0.0.1'}
这将导致图表使用零作为值,但在图表上显示地址。
通过将数据加载到数据表中,这解决了一半的问题
现在我们必须解决y轴上实际显示的标签问题。
在这里,我们可以使用ticks
选项。
ticks
选项将接受上述相同的对象符号。
因此,如果我们想要y轴上的ip地址,请按如下所示提供标记
[{v: 0, f: '127.0.0.1'}, {v: 0.1, f: '127.0.0.2'}, {v: 0.2, f: '127.0.0.3'}]
有关示例,请参见以下工作代码段
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var服务器状态=[
{memoryUsage:0.1,ipAddress:'127.0.0.1'},
{memoryUsage:0.3,ipAddress:'127.0.0.2'},
{memoryUsage:0.5,ipAddress:'127.0.0.3'},
{memoryUsage:0.7,ipAddress:'127.0.0.4'},
{memoryUsage:0.9,ipAddress:'127.0.0.5'},
];
var performanceData=new google.visualization.DataTable();
performanceData.addColumn('number','Memory Usage');
performanceData.addColumn('number','Server IP');
var=[];
forEach(函数(行、索引){
变量地址={
五:索引,,
f:row.ipAddress
};
axisTicks.push(地址);
performanceData.addRow([
罗.尤塞奇,
地址
]);
});
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(性能数据{
言辞:{
滴答声:轴滴答声
}
});
});代码>
@WhiteHat这是我的dto类,我从数据库中检索数据列表。公共类ServerStatusParameters{private String totalPhysicalMemory;private String freePhysicalMemory;private int memoryUsage;private double cpuUsage;private String ipAddress;}@WhiteHat这是我的dto类,我从数据库中检索数据列表。公共类ServerStatusParameters{private String totalPhysicalMemory;private String freePhysicalMemory;private int MemorySage;private double cpuUsage;private String ipAddress;}