可視化ツール作成1
の編集
https://tetdm.jp:443/pukiwiki/index.php?%E5%8F%AF%E8%A6%96%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB%E4%BD%9C%E6%88%90%EF%BC%91
-- 雛形とするページ --
2013年度人工知能学会全国大会論文募集
2014年度人工知能学会全国大会論文募集
2015クロージングディスカッションまとめ
2015年度人工知能学会全国大会論文募集
2016JSAI特設ページ
BracketName
CSVテキストの入力
ChatGPTを用いた機能について
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
MacOSX(Mountain Lion, Lion)へのChaSenインストール
MacOSX(Snow Leopard)へのChaSenインストール
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
README.txtファイルの作成
RecentDeleted
R利用ツールの利用準備
SCIS2014
SCIS2014(JAPANESE)
SandBox
TETDM
TETDM 質問回答&更新ログ
TETDMのイベント
TETDMの学会活動
TETDMセッション@JSAI2012のまとめ
TETDMセッション@JSAI2013のまとめ
TETDM用語集
TETDM統合環境
TETDM統合環境(過去1)
TETDM統合環境0.62まで
WikiEngines
WikiName
WikiWikiWeb
WindowsへのJavaのインストール
YukiWiki
java
かえで
てすと:モジュールアップロード
アップロード用パッケージの準備
インタラクティブ情報アクセスと可視化マイニング
オプションによる処理連動
オプションによる可視化連動
キャラクターアシストチュートリアルの作成
チュートリアル
チュートリアル(バージョン0.42まで)
チュートリアル(バージョン0.43まで)
ツールIDの取得と記述
ツールの公開について
ツールの組合せの指定
ツールの選択
ツールタイプ
ツール作成の概要
ツール設定(バージョン0.43のみ)
テキストデータ
テトリーヌ
テトリーヌギャラリー
データ分析本のカラーの図(1-3章)
データ分析本のカラーの図(4章)
データ分析本のカラーの図(5-6章)
データ分析本のカラーの図(7章)
データ分析本を用いた講義用スライド
データ取得による処理連動
データ取得による処理連動(バージョン0.42まで)
データ取得による処理連動(バージョン0.46まで)
データ型コンバート
データ表示用クラス
パッケージのアップロード
パネルサイズに応じた表示更新
ファイルの入出力
フォーカス情報による処理連動
フォーカス情報による可視化連動
プログレスバーの表示
プロフィール
ボタンなどの日本語表示
ポジネガの判定方法
マイニングモジュールクラス
マイニング処理ツールの作り方
マイニング処理ツールの作り方(簡易版)
マイニング処理ツール一覧
マイニング処理ツール一覧(3.5まで)
マイニング処理モジュールの作り方(バージョン0.42まで)
マイニング処理モジュールの作り方(バージョン0.46まで)
マイニング処理モジュールの作り方(簡易版)(バージョン0.42まで)
マイニング処理モジュールの作り方(簡易版)(バージョン0.46まで)
マウス座標によるスレッドの停止と起動
モジュールの組合せの指定OLD
モジュールの連動の概要
使いやすいツールに向けて
個別にツールを追加・削除する方法
個別ツールの追加と削除
入力テキストの準備
処理ツール作成1
処理ツール作成1改
処理ツール作成1改2
処理ツール作成2
処理ツール作成3
処理モジュール作成1
処理モジュール作成1(バージョン0.42まで)
処理モジュール作成1(バージョン0.43まで)
処理モジュール作成1改(バージョン0.42まで)
処理モジュール作成1改(バージョン0.43まで)
処理モジュール作成1改2(バージョン0.42まで)
処理モジュール作成1改2(バージョン0.43まで)
処理モジュール作成2(バージョン0.42まで)
処理モジュール作成2(バージョン0.43まで)
処理モジュール作成3(バージョン0.42まで)
処理モジュール作成3(バージョン0.43まで)
処理対象テキストの更新、変更
利用者のよくある質問と回答
利用者・開発者用の掲示板
利用者向けチュートリアル
可視化インタフェースツールの作り方
可視化インタフェースツール一覧
可視化インタフェースツール一覧(3.5まで)
可視化インタフェースモジュールの作り方(バージョン0.46まで)
可視化ツール作成1
可視化ツール作成2
可視化ツール作成3
可視化ツール作成4
可視化モジュールクラス
可視化モジュール作成1
可視化モジュール作成1(バージョン0.42まで)
可視化モジュール作成1(バージョン0.43まで)
可視化モジュール作成2(バージョン0.42まで)
可視化モジュール作成2(バージョン0.43まで)
操作方法(バージョン0.42まで)
操作方法(バージョン0.45まで)
文字サイズの協調変更
更新ログ
更新ログ1.0
活用事例(バージョン0.42まで)
環境設定(バージョン0.42まで)
環境設定(バージョン0.45まで)
画像の表示
統合環境のインストールと設定
統合環境のクラス構成
統合環境のクラス構成(バージョン0.42まで)
統合環境の利用の流れ
統合環境の操作方法
統合環境の活用事例
統合環境の活用事例(バージョン0.43)
統合環境の環境設定
統合環境の起動方法
英語テキストの入力
複数ツールの連動
講座当日資料
起動モード
近未来チャレンジTETDM
追加ツールの利用方法
過去バージョン
開発者のよくある質問と回答
開発者登録
*チュートリアルで試せる内容 [#ac9974d8] -[[可視化インタフェースツールの作り方]] -[[パネルサイズに応じた表示更新]] *1)作成する可視化ツールの仕様を決めます [#b8d97133] -[ツール名] DotDistribution(ドット分布) -[入力] double型配列 -[処理] double型配列で与えられる値を縦軸の座標として、値の分布をドット(小さい円)で表示する -[出力] 作成したドット分布を表示 *2)SampleDisplay2.java を利用して,ツール作成の準備をします [#v3000f78] -tetdmのフォルダ内の,moduleフォルダ内のVisualizationModuleフォルダ内にある,SampleDisplay2フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するツール名「DotDistribution」に変更します -コピーして作成したフォルダ内のファイル名を変更します --SampleDisplay2.java -> DotDistribution.java --SampleDisplay2.txt -> DotDistribution.txt (テキストファイルの中身も「ドット分布」に変更します) --必要に応じて,ツール完成後にREADME.txtを修正します *3)DotDistribution.java を編集し,プログラム作成の準備をします [#k7486b19] -プログラム中の SampleDisplay2 と書かれている箇所をすべて DotDistribution に変更します(コメント内を含め4カ所) ---// DotDistribution.java Version 0.30 ---package module.VisualizationModules.DotDistribution; ---public class DotDistribution extends VisualizationModule ---public DotDistribution() **コンストラクタの記述の修正 [#a4da05d6] -ツールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます(今回は9911とします) -int型の配列,dataNumbersの値を初期化して,受け取るデータ型とその数を指定します. --今回は,double 型の配列を1つ受け取ります. ---&color(red){setToolType(2); [[ツールタイプ]]はプリミティブになります.}; public DotDistribution() { setModuleID(9911); // Set your module ID after you have got it dataNumbers = new int[]{0,0,0,0, // b,i,d,S 0,0,1,0, // bA,iA,dA,SA 0,0,0}; // bA2,iA2,dA2 setToolType(2); } *4)一度コンパイルして,DotDistributionツールの動作を確認します [#w252be71] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -楕円とテキストの一文目が表示されるのを確認して下さい(SampleDisplay2.java の処理) --もとのSampleDisplay2.javaがシンプルツールなので、任意の処理ツールとの組み合わせで表示されます *5)ドット分布を表示するプログラムを作成します [#o5c0ad7c] **ファイルからの日本語の読み込み(今回は不要) [#n093dcd1] -もとからある下記変数とメソッドの内容は,インタフェース内に日本語を表示させたい場合は利用して下さい -String outputText; -initializePanel() -initializeData() -String inJapanese[]; (&color(blue){変数の定義はVisualizationModuleクラス内};) --フォルダ内に,Japanese.txtファイルを用意している場合,自動的に各行の内容が,initializePanel()の実行前に,inJapaneseに読み込まれます. **処理ツールからデータを受け取り,ドット分布の表示に必要なデータを保存する変数を,グローバル領域で宣言します [#q937648f] double values[]; **initializeData() 内で変数の初期化を行います(オーバーライド) [#b2b29e53] -ドット分布の表示に必要なデータがない場合にエラーを出さないようにします public void initializeData() { values = new double[1]; } **処理ツールからデータを受け取るメソッド,setDataを作成します(オーバーライド) [#dbb85a8a] -switch,case文を用いて作成します -case文は0から作成します -データの受け取りに成功したらtrue,失敗したらfalseを返すboolean型としてメソッドを作成します -データを受け取った際に再描画するように、repaint(); メソッドを呼び出します public boolean setData(int dataID, double data[]) { switch(dataID) { case 0: values = data; repaint(); return true; } return false; } **ドット分布の表示プログラムを作成します [#h0e0adf2] -画面のサイズに対して,上下左右に各20pixelの余白を設け,残りの領域にデータを最大限に大きく表示します -displayOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します -case 0:にrepaint(); を記述している場合は,paintComponent(Graphics g)から呼び出されるところに記述します -スーパークラス内の変数,sizeX, sizeYには,表示できるパネルの縦と横のサイズが,メソッドgetPanelSize()が呼び出されるたびに格納されますので,この値を利用してパネルサイズの変更に対応できるようにします double max,min; int width,height; //background public void drawBackground(Graphics2D g2) { g2.setColor(Color.black); g2.fillRect(0,0, sizeX, sizeY); } public void drawDistribution(Graphics2D g2) { width = sizeX - 40; height = sizeY - 40; max = min = values[0]; for(int i=1;i<values.length;i++) { if(values[i] > max) max = values[i]; if(values[i] < min) min = values[i]; } if(max == min) return; g2.setColor(Color.yellow); for(int i=0;i<values.length;i++) g2.fillOval(20 + width * i/(values.length-1), (int)(20 + height * (max - values[i])/(max - min)), 10,10); } //////////paint public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; getPanelSize(); drawBackground(g2); //background drawDistribution(g2); } public void update(Graphics g) //avoid from blinking { paintComponent(g); } *6)コンパイルして動作を確認します [#t99bd5fa] -処理ツール「データ送信テスト」と組み合わせた場合,パネル下部のボタンを押すと,押したボタンに対応するデータによるドット分布が表示されます. --データが1つの場合は表示されません --送られてくるデータが double 型でない場合でも、[[データ型コンバート]]によりdouble型に変換されて表示されます -統合環境のウインドウのサイズを変えても,パネル内の表示がサイズに応じて変更されることを確認します
タイムスタンプを変更しない
*チュートリアルで試せる内容 [#ac9974d8] -[[可視化インタフェースツールの作り方]] -[[パネルサイズに応じた表示更新]] *1)作成する可視化ツールの仕様を決めます [#b8d97133] -[ツール名] DotDistribution(ドット分布) -[入力] double型配列 -[処理] double型配列で与えられる値を縦軸の座標として、値の分布をドット(小さい円)で表示する -[出力] 作成したドット分布を表示 *2)SampleDisplay2.java を利用して,ツール作成の準備をします [#v3000f78] -tetdmのフォルダ内の,moduleフォルダ内のVisualizationModuleフォルダ内にある,SampleDisplay2フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するツール名「DotDistribution」に変更します -コピーして作成したフォルダ内のファイル名を変更します --SampleDisplay2.java -> DotDistribution.java --SampleDisplay2.txt -> DotDistribution.txt (テキストファイルの中身も「ドット分布」に変更します) --必要に応じて,ツール完成後にREADME.txtを修正します *3)DotDistribution.java を編集し,プログラム作成の準備をします [#k7486b19] -プログラム中の SampleDisplay2 と書かれている箇所をすべて DotDistribution に変更します(コメント内を含め4カ所) ---// DotDistribution.java Version 0.30 ---package module.VisualizationModules.DotDistribution; ---public class DotDistribution extends VisualizationModule ---public DotDistribution() **コンストラクタの記述の修正 [#a4da05d6] -ツールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます(今回は9911とします) -int型の配列,dataNumbersの値を初期化して,受け取るデータ型とその数を指定します. --今回は,double 型の配列を1つ受け取ります. ---&color(red){setToolType(2); [[ツールタイプ]]はプリミティブになります.}; public DotDistribution() { setModuleID(9911); // Set your module ID after you have got it dataNumbers = new int[]{0,0,0,0, // b,i,d,S 0,0,1,0, // bA,iA,dA,SA 0,0,0}; // bA2,iA2,dA2 setToolType(2); } *4)一度コンパイルして,DotDistributionツールの動作を確認します [#w252be71] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -楕円とテキストの一文目が表示されるのを確認して下さい(SampleDisplay2.java の処理) --もとのSampleDisplay2.javaがシンプルツールなので、任意の処理ツールとの組み合わせで表示されます *5)ドット分布を表示するプログラムを作成します [#o5c0ad7c] **ファイルからの日本語の読み込み(今回は不要) [#n093dcd1] -もとからある下記変数とメソッドの内容は,インタフェース内に日本語を表示させたい場合は利用して下さい -String outputText; -initializePanel() -initializeData() -String inJapanese[]; (&color(blue){変数の定義はVisualizationModuleクラス内};) --フォルダ内に,Japanese.txtファイルを用意している場合,自動的に各行の内容が,initializePanel()の実行前に,inJapaneseに読み込まれます. **処理ツールからデータを受け取り,ドット分布の表示に必要なデータを保存する変数を,グローバル領域で宣言します [#q937648f] double values[]; **initializeData() 内で変数の初期化を行います(オーバーライド) [#b2b29e53] -ドット分布の表示に必要なデータがない場合にエラーを出さないようにします public void initializeData() { values = new double[1]; } **処理ツールからデータを受け取るメソッド,setDataを作成します(オーバーライド) [#dbb85a8a] -switch,case文を用いて作成します -case文は0から作成します -データの受け取りに成功したらtrue,失敗したらfalseを返すboolean型としてメソッドを作成します -データを受け取った際に再描画するように、repaint(); メソッドを呼び出します public boolean setData(int dataID, double data[]) { switch(dataID) { case 0: values = data; repaint(); return true; } return false; } **ドット分布の表示プログラムを作成します [#h0e0adf2] -画面のサイズに対して,上下左右に各20pixelの余白を設け,残りの領域にデータを最大限に大きく表示します -displayOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します -case 0:にrepaint(); を記述している場合は,paintComponent(Graphics g)から呼び出されるところに記述します -スーパークラス内の変数,sizeX, sizeYには,表示できるパネルの縦と横のサイズが,メソッドgetPanelSize()が呼び出されるたびに格納されますので,この値を利用してパネルサイズの変更に対応できるようにします double max,min; int width,height; //background public void drawBackground(Graphics2D g2) { g2.setColor(Color.black); g2.fillRect(0,0, sizeX, sizeY); } public void drawDistribution(Graphics2D g2) { width = sizeX - 40; height = sizeY - 40; max = min = values[0]; for(int i=1;i<values.length;i++) { if(values[i] > max) max = values[i]; if(values[i] < min) min = values[i]; } if(max == min) return; g2.setColor(Color.yellow); for(int i=0;i<values.length;i++) g2.fillOval(20 + width * i/(values.length-1), (int)(20 + height * (max - values[i])/(max - min)), 10,10); } //////////paint public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; getPanelSize(); drawBackground(g2); //background drawDistribution(g2); } public void update(Graphics g) //avoid from blinking { paintComponent(g); } *6)コンパイルして動作を確認します [#t99bd5fa] -処理ツール「データ送信テスト」と組み合わせた場合,パネル下部のボタンを押すと,押したボタンに対応するデータによるドット分布が表示されます. --データが1つの場合は表示されません --送られてくるデータが double 型でない場合でも、[[データ型コンバート]]によりdouble型に変換されて表示されます -統合環境のウインドウのサイズを変えても,パネル内の表示がサイズに応じて変更されることを確認します
テキスト整形のルールを表示する