• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Scilabのsubplotのグラフ描画範囲の指定)

Scilabのsubplotのグラフ描画範囲の指定

m1091757253の回答

  • ベストアンサー
回答No.1

plotではなくplot2dではないでしょうか ... plot2d(x,sin(x),1,’011’,’’,[0,-1,2*%pi,1]); (snip) plot2d(x,0.1*sin(x),1,’011’,’’,[0,-0.1,2*%pi,0.1]);

stdyphy
質問者

お礼

上手く行きました。ありがとうございます。 普段plot(x,y)の方を使っていたのでplot2d(x,y,rect=[xmin,ymin,xmax,ymax])は知りませんでした。

関連するQ&A

  • scilab のグラフが表示されない

    環境: Mac OS X Lion (10.7.5) https://www.scilab.org/download/5.4.1 よりmac用のscilabをダウンロードしたのですが、例えば -->x=[0:0.1:2*%pi]'; -->plot(sin(x)) などとやってもグラフが表示されません。 (何も起きずに処理が終わります) 何故でしょうか。 ※1 Scilabのバージョンが新しいのが悪いのか? と思い https://sites.google.com/site/uenatyzk/i_wanna_be_wizard/scilab を参照して 5.3.3 をダウンロードしてもみたのですが、こっちでやった場合、plot をすると一瞬だけグラフが表示されるのですが、その後強制終了してしまいました。 ※2 ※1の「強制終了する」という件については http://okwave.jp/qa/q6176658.html で同様の質問があるようですが、解答の「ビデオカードののハードウエアアクセラレーションを何段階か落とすと大丈夫です」という意味がよくわかりません…。 (Mac で具体的にどうすればいいのかがわからなかった) ちなみにJavaは最新のものをダウンロード済です。

  • scilabのグラフの表示について

    scilabについての質問です. 複数の関数について,それぞれ別々のグラフあるいは別のウィンドウで表示するにはどうすればよいでしょうか. scilabにお詳しい方どうぞよろしくお願いいたします. 通常は複数の関数を描くときに,plot2dコマンドなどで続けて記述すると, それぞれの関数は一つのグラフに重ねて表示されると思います. これをそれぞれの関数ごとのグラフ,あるいは別のウィンドウで表示するにはどうすればよろしいでしょうか. これを行う際の条件として, ・複数の関数を描くコマンドは,scipad等上で定義した関数内で記述し,scilabのプロンプトで呼び出す. ・clf()で1回,1回グラフの描画,消去を繰り返すという方法は"なし". でお願いします.

  • 対数グラフの描画範囲

    対数グラフの描画範囲についての質問です。 x成分の値の範囲が約70~200のデータを対数グラフにプロットしたくて「散布図」で対数グラフを作成しましたが、x軸の目盛りの範囲がどうしても10~1000になってしまいます。このままだと数本のグラフが狭い範囲で重なり合ってしまいとても見づらいのですが、この範囲を70~200のように設定することは出来るのでしょうか? また、対数グラフの場合で「直線の近似曲線」を引くことは可能でしょうか?「マーカーを右クリック→近似曲線の追加→線形近似」をしても曲線になってしまい困ってます。

  • 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 初心者の質問で申し訳ありませんが、かなり困っています。ご指導、アドバイスよろしくお願いいたします。

  • gnuplotで部分描画したい。

    gnuplotで部分描画したい。 guplotでplotすると、枠全体に描画されてしまいます。 これを回避しようと、xの範囲を[xmin:xmax]と指定すると、 枠の左端がxmin、右端がxのxmaxに設定されてしまいます。 すなわち私がしたいことは、 枠の両端をxの座標で[fmin:fmax]で指定し、 グラフを[pmin:pmax]の範囲で描画させたいのです。 (fmin < pmin < pmax < fmax) どのようにすればいいでしょうか。

  • Scilabを使ったジュリア集合の描画プログラム

    今、Scilabを使用してジュリア集合(充填およびそれ以外を含む集合)を描画するプログラムを書いています。 以前書いたC言語のプログラムをもとに書いているのですが、正確に描画できません。どうしたらよいでしょうか。教えてください。 与える条件は右上と左下の座標(複素数形式)と定数Cの値です。 以下に掲載したのが製作したプログラムです。 よろしくお願い致します。 //描画エリアの右上と左下の座標を複素数で設定する Z =[ -1.2-1.2*%i;1.2+1.2*%i]; //複素定数(C)を設定する C=0+0*%i; //描画エリアのx座標とy座標の各最小値と最大値を計算する。 xmin = min(real(Z)); xmax = max(real(Z)); ymin = min(imag(Z)); ymax = max(imag(Z)); Cr = real(C); Ci = imag(C); //描画点数を800×800に設定する。 N = 800; //各増分を計算する。 dx = (xmax-xmin)/(N-1); dy = (ymax-ymin)/(1-N); //プロットデータを"0"で初期化 map=zeros(N,N); //ジュリア集合の描画 i=1; for X=xmin:dx:xmax j=1; for Y=ymax:dy:ymin for k=1:30 x = X ^ 2 - Y ^ 2 + Cr; y = 2 * X * Y +Ci; if x^2 +y^2 > 4 then break; end map(j,i)=k; X=x; Y=y; end j=j+1; end i=i+1; end //プロットするための設定 Re = xmin:dx:xmax; Im = ymax:dy:ymin; clf(0); Sgrayplot(Re,Im,map');

  • ID3DXSprite::Drawメソッドに関しての質問です。

    ID3DXSprite::Drawメソッドに関しての質問です。 Drawメソッドの第2引数は CONST RECT* と定義されており、ここに描画される有効範囲を指定します。 このRECT構造体に添付の画像の様に800x600のサイズのテクスチャを描画範囲と指定する場合、 (0,0)(800,600)と指定すると、結果的に幅は801pixl,高さは601pixlとなると考え、 (0,0)(799,599)と指定しました。しかし、この様に指定すると、実際には799x599pixlとして 描画されてしまいます。 ID3DXSprite::Drawメソッドの描画範囲を指定する第2引数は RECT.top、RECT.left は切り取り位置、 RECT.right、RECT.bottom は描画サイズと解釈するべきなのでしょうか? このあたりのことは書籍やネットでもあまり取り上げられない問題なので、 詳細をご掲示頂けると幸いです。 よろしくお願いします。

  • scilab サイラボ(数学ソフト)

    数学ソフトscilabについて知っている方いますか?たとえば関数としてy=sin(x)としてこの関数を何回か微分した関数をベクトルか行列にいれていきたいのです。V=[cos(x) -sin(x) -cos(x) six(X) ]のようにです。sin(x)を微分するコマンドはないのでしょうか?derivatではうまくいかないし・・・お願い致します。

  • グラフの描き方

    Q、キーボードからnの値を読み込み、r=sin(nθ)で表される曲線のグラフをかけ。 ヒント、x=rcosθ、y=rsinθと与えられた式で(x、y)とすればいい。また、θは度の単位で0°から360°まで計算すればよい。 この問題で、、、 SET WINDOW -1.1,1.1,-1.1,1.1 INPUT n FOR i=0 to 360 STEP 10 x=cos(n*θ*PI/180) y=sin(n*θPI/180) PLOT LINES:x,y; NEXT i END これのどこがおかしいでしょうか? おねがいします。

  • 描画位置について

    描画を透明化する質問をしたものですが、もう1つ教えていただきたいことがあります。 void Draw(ID3DXSprite* g_pSprite,DDXTEX* g_pTexture) { // クリア g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, g_clrBackgroundColor, 1.0f, 0); // 描画開始 if (FAILED(g_pd3dDevice->BeginScene())) { g_pd3dDevice->Present(NULL, NULL, NULL, NULL); return; } // スプライトを描画 g_pSprite->Begin(D3DXSPRITE_ALPHABLEND); g_pSprite->Draw( g_pTexture->m_pTexture, // LPDIRECT3DTEXTURE9 pTexture NULL, // CONST RECT *pSrcRect &g_vCenter, // CONST D3DXVECTOR3 *pCenter NULL, // CONST D3DXVECTOR3 *pPosition g_pTexture->m_clrAlpha // D3DCOLOR Color ); g_pSprite->SetTransform(&g_mat); g_pSprite->End(); で描画範囲がCONST RECT *pSrcRectで、描画中心がCONST D3DXVECTOR3 *pPosition、描画位置がCONST D3DXVECTOR3 *pPositionのはずなのですが描画範囲も描画中心、描画位置も思い通りいきません。 描画範囲、中心、位置を指定するにはどうすればいいのでしょうか?