我有一个GWT折线图,其中包括横轴的负数。我想使用日志刻度来显示这些数据,但我不确定如何设置' mirrorLog' HAxis的财产。
我可以hAxis.setLogScale(true);
,但这并不能处理负值。我正在寻找像hAxis.setScaleType("mirrorLog")
这样的东西,但它似乎并不存在。我也使用gwt-charts-0.9.10.jar。
先谢谢。
// Prepare the data
DataTable dataTable = DataTable.create();
dataTable.addColumn(ColumnType.NUMBER, "Data Name");
dataTable.addColumn(ColumnType.NUMBER, "Line Name";
dataTable.addRows(myArray.size());
for (int i = 0; i < myArray.size(); i++) {
dataTable.setValue(i, 0, String.valueOf(myArray.get(i)));
}
for(int i = 0; i<values.size(); i++){
dataTable.setValue(i, 1, String.valueOf(values.get(i)));
}
// Set options
LineChartOptions options = LineChartOptions.create();
HAxis hAxis = HAxis.create("HAxis Name");
options.setBackgroundColor("#f0f0f0");
options.setFontName("Tahoma");
options.setHAxis(hAxis);
options.setVAxis(VAxis.create("VAxis Name"));
答案 0 :(得分:0)
所以在我昨天提出这个问题之前,我尝试制作一个CustomHAxis类,它是jar中包含的HAxis类的精确副本,并添加了setScaleType()函数。这不起作用,因为LineChartOptions的setHAxis()函数只接受HAxis。
解决方案是创建一个扩展HAxis的自定义HAxis类,然后为其添加setScaleType()函数。
public class CustomHAxis extends HAxis {
/**
* Default constructor.
*
* @return a new object instance
*/
public static CustomHAxis create() {
return createObject().cast();
}
/**
* Constructor with title.
*
* @param title
* axis title
*
* @return a new object instance
*/
public static CustomHAxis create(String title) {
CustomHAxis hAxis = createObject().cast();
hAxis.setTitle(title);
return hAxis;
}
protected CustomHAxis() {
}
public final native void setScaleType(String scaleType) /*-{
this.scaleType = scaleType;
}-*/;
}