public void applySettings(JChart chart) {
    Axis xAxis = chart.getXAxis();
    Axis yAxis = chart.getYAxis();

    if (canLogXAxis) {
      if (logXAxis.isSelected()) {
        xAxis = new LogAxis();
      } else {
        xAxis = new LinearAxis();
      }
      chart.setXAxis(xAxis);
    }

    if (manualXAxis.isSelected()) {
      xAxis.setManualRange(minXValue.getValue(), maxXValue.getValue());
      xAxis.setAxisFlags(Axis.AT_VALUE, Axis.AT_VALUE);
    } else {
      xAxis.setAxisFlags(defaultMinXAxisFlag, defaultMaxXAxisFlag);
    }

    if (canLogYAxis) {
      if (logYAxis.isSelected()) {
        yAxis = new LogAxis();
      } else {
        yAxis = new LinearAxis();
      }
      chart.setYAxis(yAxis);
    }

    if (manualYAxis.isSelected()) {
      yAxis.setManualRange(minYValue.getValue(), maxYValue.getValue());
      yAxis.setAxisFlags(Axis.AT_VALUE, Axis.AT_VALUE);
    } else {
      yAxis.setAxisFlags(defaultMinYAxisFlag, defaultMaxYAxisFlag);
    }
  }