设置 GWT 折线图镜像日志



我有一个GWT折线图,其中包括沿水平轴的负数。我想使用对数刻度来呈现这些数据,但我不确定如何设置 HAxis 的"镜像日志"属性。

我可以做hAxis.setLogScale(true);但这不能处理负值。我正在寻找类似hAxis.setScaleType("mirrorLog")的东西,但似乎不存在。我也在使用 gwt 图表-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"));

所以在我昨天问这个问题之前,我尝试制作一个 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;
}-*/;
}

最新更新