編集メニュー > 新規作成 編集 コピー 名前の変更 アップロード 添付ファイル一覧 バックアップ

  • 追加された行はこの色です。
  • 削除された行はこの色です。
*mplot [#xdfcdddd]
&aname(download);
&ref(mplot-2.1.zip,,version2.1ダウンロード);

学生実験用に簡単なプロッターをjavaで作ってみました。
mはメスバウアーのmです。

&ref(./mplot-2.0.png,50%);~

**既知のバグ [#x35ae2a7]
- 

**機能 [#c0453fa5]
[[memo/program/mplot/README]]~

version2.0にアップデート。少し仕様変わりました。
- 数値データのプロット
-- 2つ以上のデータを重ねてプロットすることも可能(ver1.9まで)
-- Y軸だけlog/linear scaleの変更が可能
-- 2列のデータの場合はY軸のエラーはsqrt(Y)で計算されます。
-- 3列のデータを読み込ませたときは3列目がY軸のエラーとなります。
-- 10000行までの数値データに対応しています。(ちょっと改造すればもっと読めます)
-- #で始まる行はコメントとみなされます。
- フィッティング
-- 一次関数(y=ax+b)
-- 1,2,6個のLorentzian+const.
-- フィティング結果をクリップボードにコピーできる
- 数値データの解析
-- fold プロットを指定したchで折りたたんで足し合わせる
-- calibrate Ax+Bという関数で横軸を較正
- 日本語のファイル名はOK
- グラフを画像(PNG,EPS)として保存。EPSはver-1.6から
~
***まだできなくてできたらよいなぁと思うこと [#n5d29abd]
- テキストエリアのウィンドウのサイズを変えてもテキストエリアのサイズはそのまま。
なのではみ出たりする。
- プロットしたものはタブとかで切り替えられるようにしたい。画像を保存するときにいちいちプロットしなおさないといけないので。(ver2.0で対応)
- グラフとテキストが別々のウィンドウになっているが、一緒にしたい。(ver2.0で対応)
- 一度プロットしたものはタブかなんかですぐに見れるようにしたい。図の保存のときにもう一度フィットするとかがなくなる。(ver2.0で対応)
- jarファイルを作っていちいちコマンドプロンプトが表示されないようにしたい。

**インストール [#o1ddb13f]

***java本体とjfreechartのインストール [#u61b4881]
-java開発パッケージ(JDK)を[[ここ>http://www.oracle.com/technetwork/java/javase/downloads/index.html]]からダウンロード。
C:\\Program Files\Javaにインストールした。環境変数の設定が必要。
-jfreechartを[[ここ>http://www.jfree.org/jfreechart/]]からダウンロード。
jfreechartはグラフ作成のためのパッケージ。
開発時のバージョンは1.0.13でした。
これをC:\\Program Files\Java\jfreechart-1.0.13にインストール。
-epsgraphics-1.2.jarを[[ここ>http://sourceforge.net/projects/epsgraphics/]]
からゲット(ver-1.6から)。これをJavaの下におく。

***mplotのコンパイル [#dde35392]
[[mplot>#download]]をダウンロードして、適当なところで解凍
cygwinを使ってコマンドラインで使用するときにはMakefileをて適当に編集してmake。
cygwinを使わない場合はMakefile.bat中のパスを適当に編集して実行。
その後MPlot.batのパスを適当に編集して実行すればOK。
-ファイルを開くときのはじめのパス
コンパイルする前にmplot\src\MFileIO.java中のdefaultpathを変更しておくとよい。
パスの書き方は
 String defaultpath="C:\\Documents and Settings\\kondo\\デスクトップ";
のように\を2つ書く。

**LocalizationBundle_ja.propertiesの追加 [#vf08af12]
右クリックで出てくるpopupメニューでX、Y軸がDomain、Range axisとなっているが、わかりづらい。変更したい場合は以下を行う。

Localeは日本語になっているが、それに対応するpropertyファイルが存在しないので、defaultのLocalizationBundle.propertiesになっている。よって日本語用にLocalizationBundle_ja.propertiesを追加し、それを変更する。

まずjfreechart本体のlib以下の
-org/jfree/chart/LocalizationBundle.properties
-org/jfree/chart/edit/LocalizationBundle.properties

をLocalizationBundle_ja.propertiesにコピーしてその中を以下のように変更。

 Domain_Axis=X Axis

 Range_Axis=Y Axis

これだけでは反映されない。jfreechart-1.0.13.jarに追加する必要がある。
コマンドプロンプトで、以下を実行。

 cd C:\Program Files\Java\jfreechart-1.0.13\lib
 copy jfreechart-1.0.13.jar jfreechart-1.0.13.jar.org
 cd ..\source
 jar uvf ..\lib\jfreechart-1.0.13.jar org\jfree\chart\LocalizationBundle_ja.properites
 jar uvf ..\lib\jfreechart-1.0.13.jar org\jfree\chart\editor\LocalizationBundle_ja.properites

これでOK。
本当は本体側をいじらずにやりたいのだけど、解決方法がわからん...
jarはJREには入っていない。JDK(開発キット)が必要。入れた後は環境変数Pathを設定しないと上のようにはできません。マイコンピュータを右クリック->プロパティ->詳細設定->環境変数でJAVA_HOMEを新規作成し、PATHの末尾にbinディレクトリを追加する。