![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
縦軸、横軸がそれぞれ256で、そこに256X256のデータが入っています。
この時、データの値を高さとした場合、256X256の画面に
色の違いで高さを表示した画像を作りたいと思っています。
エクセルでも等高線というのを使えば書けるみたいですが
高さのステップがかなりおおまかなため、もっと高さを
細かく表示できればいいなと思っています。
フリーのソフトでこういう事ができるものってありますか?
フリーじゃなければたくさんありそうな気がしますが。。。
あと手元には、エクセル、オリジンがありますが、
これらでも細かく高さ表示できる方法ってありますか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
#2です。
なんか他サイトに丸投げだったんでコメントしておきます。
データがエクセルにあるなら、
・新規シートのA1:IV256に256x256のデータのみをコピー&ペースト。
・「名前をつけて保存」ファイルの種類「テキスト(タブ区切り)」で任意の名前(ここではBook1.txt)をつけて保存先をRの実行フォルダ(C:\Program Files\R\rw2001)に保存(状況によって多少異なる)。
Rを起動。
以下のスクリプトを入力。
x <- array(1:256)
y <- array(1:256)
tmp <- read.table("Book1.txt")
z <- data.matrix(tmp)
image(x,y,z,col=terrain.colors(500),axis=FALSE)
//3行目のBook1.txtはエクセルで保存したファイル名を入力
//5行目terrain.colos(500)は色数なので好みによって増減させる。
こんなところです。
ご回答ありがとうございました。
無事、欲しかった図を得る事ができました。
できれば以下のことも出来たらいいなと思っています。
(1)どの色がどの高さなのかを表すバーのようなものが欲しい。
No.1の方の補足にした例でいうと
△2
□
●0
こんな感じの縦長のバーで、最大値と最小値に値が振られている。
(2)最大値の時の色と最小値の色を設定することができ、
中間値はそのグラデーションにしたい。
もし時間があればご回答よろしくお願いします。
No.6
- 回答日時:
#4のご質問について
いろいろ調べましたが黒枠を消す方法についてはわかりません。
あえてカラーバーを作るなら、単純増加の数列のデータファイルを別に作って、それを処理にかけることによって得られるグラデーション画像をうまく切り取って、ラベル付けしてカラーバーにする方法くらいしか思いつきません。
私のできることはここまでです。
やはり黒枠は無理なんですね。
黒枠がない方が見た目が綺麗かな?と思っただけなので
あっても特に問題があるわけではありませんが。。。
今回はこれで締め切ろうと思いますが、
また何か疑問が出てきたらまた質問しようと思いますので
その時はよろしくお願いいたします。
No.5
- 回答日時:
(2)について回答
convert16<-function(n){
q=n%/%16
r=n%%16
if(q==10) q <- "A"
if(q==11) q <- "B"
if(q==12) q <- "C"
if(q==13) q <- "D"
if(q==14) q <- "E"
if(q==15) q <- "F"
if(r==10) r <- "A"
if(r==11) r <- "B"
if(r==12) r <- "C"
if(r==13) r <- "D"
if(r==14) r <- "E"
if(r==15) r <- "F"
tmp=paste(q,r,sep="")
return(tmp)
}
gradation<-function(r1,g1,b1,r2,g2,b2,n){
rgb=0
for(i in 1:n){
r=(r1*(n-i)+r2*i)%/%n
g=(g1*(n-i)+g2*i)%/%n
b=(b1*(n-i)+b2*i)%/%n
rgb[i]=paste("#",convert16(r),convert16(g),convert16(b),sep="")
}
return(rgb)
}
を最初に入力(コピー&ペーストで可)。
#3の五行目を
filled.contour(x,y,z,level=seq(0,1000,by=50),col=gradation(255,0,0,255,255,255,20),axes=FALSE,key.axes=axis(4,seq(0,1000,by=1000)))
に変更。
これについて解説。
level=seq(0,1000,by=50)は順に、最小値、最大値、いくつごとに色を変えるか。
gradation(255,0,0,255,255,255,20)は順に、開始色のR値、G値、B値、終了色のR値、G値、B値、グラデーション色数。
levelの「いくつごとに色を変えるか」の数値とグラデーション色数の積がおよそ(最大値-最小値)になっている必要がある。
ご回答ありがとうございました。
グラデーションも可能だと知って驚きました。
ただ色のつけ方がかなり難しそうですね。。。
思ったような色分布にならないので。。。
でもすぐにこういう式が思い浮かぶってことは、
かなりRにお詳しいんですね。
No.4
- 回答日時:
とりあえず(1)にお答えしておきます。
#3の五行目image(・・・)の代わりに
filled.contour(x,y,z,color=terrain.colors,axes=FALSE,key.axes=axis(4,seq(0,1000,by=1000)))
を入力してください。
最小値と最大値は最後のseq(0,1000,by=1000)のところを変えてください。順に最小値、最大値、ステップ幅です。
ちなみに、#3でaxis=となっていたのはaxes=の間違いでした。
何度もご回答ありがとうございました。
私の理想どおりの図を描く事ができたので、大変満足しています。
また無理なお願いなんですが、これで表示させた高さのバーは
黒枠が表示されているのですがこれって消せないでしょうか?
(黒枠がない方が格好よく見えるので。。。)
よろしくお願いします。
No.2
- 回答日時:
こういうのは、画像ソフトでなくて、統計処理ソフトなどを使います。
フリーの統計処理ソフトにRというものがあります。
これでやることとしましょう。
http://www.okada.jp.org/RWiki/index.php?R%20%A4% …
↑を参考にRをインストール。
等高線図・濃淡図の作り方については
http://www.okada.jp.org/RWiki/index.php?cmd=read …
↑にあります。
画像ソフトじゃなくて統計処理ソフトを使うんですね。
Rをインストールしたのですが、使い方がよくわかっていないのと、
256×256データから濃淡図?を作る方法がよくわかりません。
もう少し簡単に作成できるソフトがあったら教えて下さい。
No.1
- 回答日時:
ここでの<256X256のデータ>と<256X256の画面>と言うのが同じものなのかまったく別の値と画像のデータがあるのかわかりませんが、表が作成したいと言ううことで良いのでしょうか?それであればここにありますよ。
http://www.vector.co.jp/vpack/filearea/win95/edu …ちなみに画像を作成して今ある画像にメモリを入れたいと言うのであれば大抵の画像ソフトで画像サイズは決められますから、作って貼り付けるのが一番簡単だと思います。
この回答への補足
説明不足で分かりずらくなって申し訳ありません。
例えば、4x4のデータがあるとします。
1 0 1 2
1 2 1 0
2 0 0 1
2 2 2 0
0を●、1を□、2を△とした場合
(本当は●や□じゃなくて色によって分けたい)
□●□△
□△□●
△●●□
△△△●
こんな感じのグラフを書きたいと思っています。
(0は赤色、1は赤+黄色、2は黄色って感じで)
数値は1~1000ぐらいあるので、色の変化が
たくさんある方がいいと思っています。
まだ分かりにくいかもしれませんが、疑問がありましたら
補足しますのでよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- 画像編集・動画編集・音楽編集 jpgが拡張子の画像を探しています 2 2023/04/06 10:03
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- X(旧Twitter) ツィッターの画像表示について 1 2023/08/17 09:28
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
右クリックで画像コピー やば...
-
縮小専用でResizedした写真の在...
-
Illustratorで大きな用紙サイズ...
-
Mac版イラレデータからWindows...
-
画像データをパスワード管理し...
-
エクセルシートの背景画像の取...
-
ヤフー フォトアルバムについて
-
教えてください。 パソコンの用...
-
パソコンの初期化について
-
Buddy ID管理ソフトって?
-
アンインストールしたプログラ...
-
何をやっても全くいダメ!!!A...
-
jwwCADのデーターを送信する方...
-
エクセルで全部のブックでしょ...
-
JBoss(EJB)へのアクセスがエラ...
-
削除したプログラムを復活させたい
-
蔵衛門が重い・・・
-
ラスタライズのエラー
-
リクエストの有効期限が切れま...
-
「このURLはコンテンツブロッカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
右クリックで画像コピー やば...
-
縮小専用でResizedした写真の在...
-
画像データをパスワード管理し...
-
Mac版イラレデータからWindows...
-
デジカメ同時プリントの写真デ...
-
Illustratorで大きな用紙サイズ...
-
Canon DPP ダウングレード(バ...
-
入稿データに配置しているepsデ...
-
蔵衛門で保存した写真をカメラ...
-
キャプチャとサムネイルの違い
-
Illustrator eps画像のリンク...
-
スキャン画像から文字画像デー...
-
エクセルシートの背景画像の取...
-
イラレのファイルが壊れて開か...
-
フォトショップ切り取り
-
スライスの意味とイラレで作っ...
-
スクリーンショットは安全ですか?
-
フォトショップ アクションを...
-
photoshopでpsdのメタデータ(e...
-
初めて質問させていただきます...
おすすめ情報