• ベストアンサー

C#でxy座標グラフを描きたい。

visual studio2005のC#を使っています。 数値処理をしたあとに、xy座標のグラフを描きたいです。 何セットかの任意の2点(x1,y1),(x2,y2)をxy座標グラフにプロットし、二点間の距離を視認することが目的です。 調べてみたところ、「N Plot」というものが見つかりました。これはこの目的に適しているのでしょうか。 ちなみにエクセルでできそうな内容ですが、将来的なプログラムの修正を考えてC#での作成が目的となっています。 また「N Plot」以外にも、もっと適したものなどがあれば教えていただきたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ponzuinfo
  • ベストアンサー率53% (16/30)
回答No.1

NPlotがどういったものか分からなかったので調べたのですが、同じ物を見ている場合、目的の物とは違うような気がします。 こちらで見たNPlotはエクセルなどで作れるような、複数のデータから棒グラフや折れ線グラフを描画する物のような気がします ただ線を描きたいだけならGraphicsクラスのDrawLineメソッドがあります ただ、原点(0,0)は左上になるので座標を調整してあげる必要があります (y=x のグラフは右下のに伸びるグラフになります) 好きな場所を原点にしたい場合は ・x座標には原点にしたい座標のxを足す ・y座標には(-1)をかけて原点にしたい座標のyを足す y座標に(-1)をかけたのはy=xのグラフを右上に伸びるグラフにするためです。 例:pictureBox1の真ん中を原点にp1=(50,100) p2=(-10,-150)の点を結ぶ線を描きたい場合のPointクラスの初期化 Point p1 = new Point((50 + (pictureBox1.Width / 2)), ((100 * (-1)) + (pictureBox1.Height / 2))); Point p2 = new Point((-10 + (pictureBox1.Width / 2)), ((-150 * (-1)) + (pictureBox1.Height / 2)));

flytosk
質問者

お礼

ありがとうございます。大変参考になりました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelグラフ内でのマウス座標の取得マクロ

    Excelの散布図のプロットエリア内でのマウス座標を取得するマクロを教えて下さい。 データのプロットだけでなく、プロットエリア内の任意の場所でのマウス座標です。 座標は画面の座標ではなく、グラフの軸の目盛での座標です。 よろしくお願いします。

  • C++ 座標に*を打つ

    こんにちわ。私は現在C言語を学びたての大学生です。 今回、教わっている友人から練習問題として、座標に*を打つという宿題が出ました。 環境はMicrosoft visual studio2008を使っております。どうしても自分ではわからなかったので質問させて下さい。 以下は自分が作成したプログラムです。 #include<stdio.h> main(){ int a[40][60]; int x,y=0; x=20;   y=30; for(x=0;x<40;x++) for(y=0;y<60;y++) if(a[x][y]==a[20][30]) { printf("*"); } else { printf(" "); } } 結果は40×60の座標に座標(20,30)にだけ*を表示したいところ、すべての座標に*が表示されてしまいます。 本当によくわかりません。なぜなのでしょうか。 親切な方の回答を希望します。熟練者の方々、よろしくお願いします。

  • 45°傾いた座標系への変数変換

    ある本で添付の図が示してあり,xy座標系から45°傾いたXY座標系へ変数を変換するという式が掲載されています。 その式は,X=(x+y/√2)),Y=((-x+y)/√2)と書かれています。 そこで私は,A(1,2) B(2,2) C(2,1) D(1,1)という点を仮定し上記の式を使ってA',B',C',D'への変換を試みました。 A→A’(1,2)→(√2,1) B→B’(2,2)→(2√2,0) C→C’(2,1)→(3√2/2,-√2/2) D→D’(1,1)→(√2,0)  ところが,上記のA’,B’,C’、D’を座標の上にプロットしても45°傾いた正方形になりません。 そもそも式がおかしいような気がするのですが,私がどこか勘違いをしているのでしょうか。  御回答をいただけたら助かります。

  • 直線上にある点の座標の求め方

    お世話になります。 点a(x1,y1)と点b(x2,y2)の直線上に点cを設けるとします。 設けた点cの座標を求めるプログラムをVBで作りたいのですが宜しくお願いします。 入力データは、点a(x1,y1)と点b(x2,y2)の座標と点aから点cの距離(k)を入力すると点cのx,yの座標を返すようなプログラムを考えています。 どうか宜しくお願いします。

  • Excelで2点間の距離をグラフ上に表示したい

    Excelで2点間の距離をグラフ上に表示したいと思っています。 具体的には、添付画像のように、人が(X1、Y1)から、(X2、Y2)へ移動した座標をグラフ上にプロットして、人毎に直線で結びたいと思っています。 実際のデータは、人が100人以上居るので、線を書くことは現実ではないです。 良い方法をご存知の方、どうぞご教示お願いします。

  • 直線の座標の求め方について

    傾きが分かっている直線(2/3)について、ある座標(x1、y1) が分かっているとします。 この直線がある座標(x1、y1)を通るとき、もう一つの点、y2座標が0の時のx2座標の求め方を教えてください。 よろしくお願いします。

  • 座標上のある点が、ある3つの座標点で結んだ三角形の領域内にあるか調べる

    座標上のある点が、ある3つの座標点で結んだ三角形の領域内にあるか調べる方法。 座標上に3つの点(x1,y1)(x2,y2)(x3,y3)で結ばれた三角形があります。 ある点(px,py)が、この三角形の内側の領域に存在するかどうかを知りたいのですが、 数学のなんという分野で、どういう求め方をするのかがわかりません。 どなたかお力添えいただければ幸いです。 関係ないかもしれませんが、左上を0,0とし、右下はn1,n2の、 Windowsペイントのようなマイナスを考慮しない座標になっています。 線上を内側とするか、外側とするかはどちらでもかまいません。 どなたかお詳しい方、お暇なときにでもご回答よろしくお願いします。

  • 数Cの問題です。

    数Cの問題です。 双曲線x^2/4-y^2=1上の任意の点P(x1,y1)における接線が漸近線と2点A,Bで交わる時、三角形OABの面積は点Pの位置に関わらず一定であることを示せ。 という問題で、解説をよんでも分からない個所があったので質問させていただきます。 解答には、 「P(x1,y1)における接線の方程式は、 x1x/4-y1y=1 漸近線y=x/2,y=-x/2との交点A,Bの座標は、 (x1+2y1,(x1+2y1)/2),(x1-2y1,-(x1-2y1)/2) このとき、AB=……」 と続いていくのですが、この座標がどうやって出たのかが分かりません。 教えて頂けたらありがたいです。

  • 座標

    Oを原点とするxy平面において、点(1,0)を通りy軸に平行な直線をlとする。l上にない点P(x、y)からlに下ろして垂直とlとの交点をQとする。点Pが(OP-)/(PQ-)=1をみたしながらxy平面上を動くとき、Pがえがく曲線Cの方程式を求めよ。また、Cとx軸との共有点およびCとy軸との共有点の座標を求めよ。 途中式もお願いします よろしくお願いします

  • 曲座標→直行座標

    極座標において r=a{1+bsin(nθ)} 0≦b<1 nは自然 数 aは半径 で、 x=rcosθ y=rsinθ で座標変換すると n=2 の場合 sin(2θ)=2sinθcosθ=2xy/r^2=2xy/(x^2+y^2) よって √(x^2+y^2) =a [1+2bxy/(x^2+y^2)] になりますが、この座標変換の 時に arctanをつかって変換する方法 があったら教えてください。

GX-100 DAWとの連携についての質問
このQ&Aのポイント
  • cakewalkで打ち込みをする際にGX-100との連携が上手くいかない
  • フットスイッチやペダルを使いたいが設定がうまくいかない
  • 設定方法を知っている方に教えてほしい
回答を見る