我需要手动定义x轴上的刻度标签。
只要我使用CategoryAxisRenderer
,它就可以正常工作,但我想使用tickRenderer: $.jqplot.CanvasAxisTickRenderer
来旋转标签。
现在,x轴自动从0到xx标记为单步。
我需要做什么,使用手动定义的数组?
带有旋转标签的完整代码如下所示:
`$(document).ready(function () {
var data_array = <?php echo json_encode($data) ?>;
var s1 = new Array;
var s2 = new Array;
var ticks = new Array();
$.each(data_array, function (j, elem) {
$.each(elem, function (i, elem) {
s1[i] = parseInt(elem['up']);
s2[i] = parseInt(elem['down']);
ticks[i] = parseInt(elem['minute']);
if(ticks[i]%5!=0){
ticks[i]='';
}
});
$.jqplot(elem['name'], [s1,s2],{
title:elem['name'],
stackSeries: true,
seriesColors:['#33CC00','#FF3300'],
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions: {
fillToZero: true,
varyBarColor: true
}
},
axes: {
yaxis: { pad: 1.05},
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ticks,
showLabel: true,
tickOptions: {
angle: 30,
labelPosition:'start',
},
}
},
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
}
}//end jqplot
);
});
});`
目前,ticks数组中只填充了数字,但稍后会保留一些文本标签。
当我注释掉tickRenderer: $.jqplot.CanvasAxisTickRenderer
时,我的ticks数组显示为x轴标签。
我尝试了几个选项,但找不到解决方案。
任何人都可以帮我吗?提前谢谢!
答案 0 :(得分:0)
我终于解决了这个问题。
我不确定原因,但提供#include <vector>
#include <algorithm>
using namespace std;
vector<float> amplitudeStorage;
vector< vector<float> > vectorStorage;
void AssignWaveAmplitude(float& amplitudeVariable, const vector<float>& dataVectorr) {
if( dataVectorr.size() ) {
amplitudeVariable = 0;
return;
}
amplitudeVariable = (*max_element(dataVectorr.begin(), dataVectorr.end())) -
(*min_element(dataVectorr.begin(), dataVectorr.end()));
}
main(){
for (int i = 0; i < amplitudeStorage.size(); i++) {
AssignWaveAmplitude(amplitudeStorage[i], vectorStorage[i]);
}
}
而不是ticks[i]=' '
这样的空格字符可以解决它。