LogScale.java
/*
* Created on 2005/07/28
* Copyright (C) 2005 Koga Laboratory. All rights reserved.
*
*/
package org.mklab.tool.graph.gnuplot.decoration;
/**
* 対数スケールを表すクラスです。
*
* @author koga
* @version $Revision: 1.8 $, 2005/07/28
*/
public class LogScale implements GnuplotComponent {
/** 全て線形スケール */
public static final int LOG_SCALE_NO = 0;
/** x軸はログスケール */
public static final int LOG_SCALE_X = 1;
/** y軸はログスケール */
public static final int LOG_SCALE_Y = 2;
/** z軸はログスケール */
public static final int LOG_SCALE_Z = 3;
/** x軸とy軸はログスケール */
public static final int LOG_SCALE_XY = 4;
/** x軸とz軸はログスケール */
public static final int LOG_SCALE_XZ = 5;
/** y軸とz軸はログスケール */
public static final int LOG_SCALE_YZ = 6;
/** x軸、y軸、z軸はログスケール */
public static final int LOG_SCALE_XYZ = 7;
/** ログスケール */
private int scale = LOG_SCALE_NO;
/**
* コンストラクター
*/
public LogScale() {
//
}
/**
* ログスケールを設定します。
*
* @param scale ログスケール
*/
public void setScale(int scale) {
this.scale = scale;
}
/**
* ログスケールを返します。
*
* @return ログスケール
*/
public int getScale() {
return this.scale;
}
/**
* ログスケール設定コマンド文字列を返します。
*
* @return ログスケール設定コマンド文字列
*/
@SuppressWarnings("nls")
public String getCommand() {
String logScaleCommand;
switch (this.scale) {
case LOG_SCALE_NO:
logScaleCommand = "unset logscale xyz";
break;
case LOG_SCALE_X:
logScaleCommand = "set logscale x; unset logscale yz";
break;
case LOG_SCALE_Y:
logScaleCommand = "set logscale y; unset logscale xz";
break;
case LOG_SCALE_Z:
logScaleCommand = "set logscale z; unset logscale xy";
break;
case LOG_SCALE_XY:
logScaleCommand = "set logscale xy; unset logscale z";
break;
case LOG_SCALE_XZ:
logScaleCommand = "set logscale xz; unset logscale y";
break;
case LOG_SCALE_YZ:
logScaleCommand = "set logscale yz; unset logscale x";
break;
case LOG_SCALE_XYZ:
logScaleCommand = "set logscale xyz";
break;
default:
throw new RuntimeException("Incorrect log mode");
}
return logScaleCommand;
}
}