【问题标题】:Set GWT Line Chart mirrorLog设置 GWT 折线图 mirrorLog
【发布时间】:2017-04-03 19:31:34
【问题描述】:

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

我可以做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"));

【问题讨论】:

    标签: java gwt linechart


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 2011-10-18
      • 2021-07-09
      • 2023-03-25
      • 2019-08-02
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多