• 締切済み

scilabでのグラフ描画時の軸設定

scilabで2次元グラフを描くときの軸の設定 scilabのカラー描画であるMatplotを使ってグラフを描画しているのですが、縦軸と横軸の交点が思い通りに設定できません。 また、グラフと軸がずれて配置されてしまいます。 現在このようなプログラムでグラフを描画しています。 u=[1:1:5;1:1:5;1:1:5;1:1:5;1:1:5]; umin=min(u(:)); umax=max(u(:)); u=255*(u-umin)/(umax-umin); Matplot(u);//行列プロット set(gcf(),'color_map',jetcolormap(256)); colorbar(umin,umax);//color barの表示 g=gca(); g.axes_visible='off'; g.children.data=g.children.data($:-1:1,:);//原点を左下にする xtics=0:1:4;//x軸目盛の設定 drawaxis(x=xtics,y=0.5,dir='d',tics='v'); g.children(1).tics_labels=string(-2:1:2); ytics=0:1:4;//y軸目盛りの設定 drawaxis(x=0.5,y=ytics,dir='l',tics='v'); g.children(1).tics_labels=string(1:1:5); このプログラムを実行すると、縦軸が0.5で、横軸が-1.5のところで交わってしまいます。 また、カラー表示されたグラフが縦軸・横軸共に1.5くらいずつずれてしまいます。 ちなみにこのプログラムは以下のURLのサイトのプログラムを参考にしたものです。 http://vision.kuee.kyoto-u.ac.jp/lecture/dsp/?menu=mat_figure 初心者の質問で申し訳ありませんが、かなり困っています。ご指導、アドバイスよろしくお願いいたします。

みんなの回答

  • hot-IC
  • ベストアンサー率87% (7/8)
回答No.1

こうかな? u=[1:1:5;1:1:5;1:1:5;1:1:5;1:1:5]; umin=min(u(:)); umax=max(u(:)); u=255*(u-umin)/(umax-umin); Matplot(u);//行列プロット set(gcf(),'color_map',jetcolormap(256)); colorbar(umin,umax);//color barの表示 g=gca(); g.axes_visible='off'; g.children.data=g.children.data($:-1:1,:);//原点を左下にする xtics=1:1:5;//x軸目盛の設定<修正> drawaxis(x=xtics,y=0.5,dir='d',tics='v'); g.children(1).tics_labels=string(-2:1:2); ytics=1:1:5;//y軸目盛りの設定<修正> drawaxis(x=0.5,y=ytics,dir='l',tics='v'); g.children(1).tics_labels=string(1:1:5);

関連するQ&A

  • mathematica, グラフ, 軸設定

    mathematicaのグラフの描き方について質問させていただきます. x=yの3次式 を縦軸y, 横軸xでPlotしたいと考えていますが, Plot[yの3次式, {yの範囲}] を実行すれば、横軸yでPlotされるかと思います. yを変化させ(yをxについて解かずに), 横軸にx, 縦軸にyでPlotしたいのですが、 軸を設定するオプションコマンドなどはありますでしょうか。 よろしくお願い申し上げます。

  • エクセルのグラフで縦軸3軸を描けますか?

    エクセル97又は2000のグラフで、X軸(横軸)1つとY軸(縦軸)を3軸描きたいのですけど、どうやればできますか?

  • エクセルのグラフの軸設定を教えて下さい

    軸の指定について教えて下さい。excel2000です。 横軸に列A、縦軸に列Bのグラフを作りたいのですが、ウイザードで作ると、横軸に行番号、縦軸に列A,列Bの両方が配置されます。 グラフを作るときに軸の指定は出来ないのでしょうか? よろしくお願いします。

  • Excelでx,y軸両方数値軸のグラフをつくりたい

    タイトルそのままですが、Excelでx,y軸両方数値軸のグラフをつくるにはどうすればよいでしょうか? 折れ線グラフで書こうと思っています。 縦軸は数値軸になりますが、横軸が項目軸になってしまいます。 横軸も数値軸にしたいのですが… ちなみに、横軸の数値は50、100、200、400です。 ですので、以下のようにしたいです。 | | | ----------------------------------   50  100    200        400

  • Excelのグラフで軸表示がおかしくなります。

    Excelのグラフで横軸に日付を設定して、作成しました。いらない日付まで表示されたので、グラフオプションの書式設定で、軸のオプション-軸の種類-テキストを選んだところ、日付はきちんと表示されたのですが、縦軸の項目名がグラフの右に移ってしまい、グラフと重なってしまいました。縦軸は左に表示すると選択してありました。どうやって左へ戻すかがわかりません。宜しくお願いします。 Excel2007を使っています。

  • Excel2007 2軸グラフの横軸反転

    折れ線グラフと棒グラフの2軸グラフを作成しています。 折れ線グラフの値に対して棒グラフの値が極端に小さいので、棒グラフに対して第2軸を追加しました。 この状態で全体のグラフを横軸反転させたいのですが、なぜか折れ線グラフのみが反転して棒グラフは元のままになってしまいます。 検索しても解決方法が見つからないのでどなたか教えてください。 Excel2002では[軸の書式設定]ウィンドウで ・軸を反転する(R) ・最大項目でY/数値軸と交差する(M) の両方にチェックを入れてOKボタンを押すと折れ線グラフと棒グラフの両方が横軸反転します。 ※同じデータを使ってOfficeXPのExcelでは正しく横軸反転したグラフが作れました。 Excel2007では[横(項目)軸]の「選択対象の書式設定」で ・軸を反転する(C) ・縦軸との交点 → 最大項目(G) を選択してOKボタンを押してもExcel2002のようにならず、折れ線グラフのみが横軸反転します。 横(項目)軸も正しく横軸反転しています。 しかし棒グラフだけが前の並びのままになってしまいます。 ちなみに棒グラフに対して第2軸を追加しない状態で「軸を反転する」を選択すると正しく折れ線グラフと棒グラフの両方が横軸反転します。 うまく横軸反転したので、この状態から棒グラフに対して第2軸を追加すると棒グラフだけ元の横軸反転しないグラフに戻ってしまいます。 当方の環境 ・Vista Business + Office 2007 ・Microsoft Updateで必要なアップデートはすべて組み込んでいます (Vista SP1、Office 2007 SP1ほか適用済み) よろしくお願いいたします。

  • EXCELでグラフを作成したい

    EXCEL2007でグラフを作成したいのですが リストが x    y 1.5   3 3    4 4.5   5 6    6 7.5   7 9    8 みたいな感じであるとします。 これを横軸をx軸,縦軸をy軸として,xとyが一致するようにグラフを作成するにはどのようにすればよいでしょうか。教えてください。

  • エクセルでの三軸以上のグラフの作成

    エクセルでの三軸以上のグラフの作成 をしたいのですが、どうしたらいいでしょうか?使っているのは2007です。 自分なりに調べてみて、グラフをコピーし、同じものを作り、片方をエリアの書式で「塗りつぶしなし」を選択することで重ねあわせ、あとは、縦軸の位置をかえればできるということなのでやってみました。 上に重ねるグラフ(つまり、「塗りつぶしなし」を選択したグラフ)の縦軸の位置をずらす(軸オプションで縦軸との交点を操作する)と、さっきまで重なり合っていたお互いの横軸までもが、上に重ねるグラフの縦軸を移動することによってずれてしまいます。 どうしたらいいのですか?また、ほかに三軸以上のグラフを作るのになにかいい方法はございませんでしょうか?

  • グラフ作成

    工学系の実験データをグラフにしているのですが、横軸(X軸)は1つ、縦軸(Y軸)を4つ(または3つ)を同じグラフに描けるグラフのソフトはないでしょうか? エクセルでは縦軸が2つまでしか描けないので、2つのグラフに分けています。 もしくは、エクセルで2つのグラフを大きさや原点のずれがないように重ねる方法でも構いません。 御存知の方、御教示ください。 元データはCSV形式で出力できます。

  • 複合グラフの主軸と第2軸を入れ代えたい

    棒グラフと折れ線グラフの複合グラフを作っています。 縦軸の主軸に棒グラフの目盛、第2軸に折れ線グラフの目盛があります。 この目盛を主軸に折れ線グラフの目盛、第2軸に棒グラフの目盛に代えたいのですが方法を教えてください。 横軸の順番は入れ替えたくありません。