• ベストアンサー

エクセル 散布図 横軸を円の角度にした時 繋げる?

エクセルのグラフについて教えてください。 散布図の横軸を円の角度にするとします。 0°から360°までですが、実際は0°と360°は同じです。 ここで、例えば横軸の10°と350°にデータがある場合、散布図上にプロットされます。 それを「直線とマーカー」の散布図にした時に、横軸上で10°→350°の間に直線が惹かれるのですが、実際は 「下限値 ←10° <直線なし> 350°→上限値」このような表示が最短距離を結ぶ直線となるはずです。 このように表示させることは可能でしょうか? 教えて下さい。 是非、宜しくお願いします。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>地図上で最短距離の直線を引くなら日付変更線も経度も関係なく(地図上で)最短距離を通る直線を引くことができますが、これを散布図上ですることが出来ないものかと思いました。 Excelには地球儀上(球面上)にプロットする機能はありません。 平面の地図(X軸=緯度、Y軸=経度)であれば経度と緯度の交点を散布図としてプロットできます。しかし、最初のプロット位置と最後のプロット位置の最短距離を割り出すには散布図から読み取るのは無理があります。 GPSで2つのポイントを測定したものとすれば2点間の距離を算出できるはずです。その方法はあなた自身が検索して調べるべきでしょう。

jyaramanti
質問者

お礼

回答を下さり、ありがとうございました。 数値を円の角度として処理する方法はないのですね。 日付変更線を隔てて隣接した経度地域でも、そもそものセルに入力されている値が違うのでセルの数値上では最大値と最小値になってしまいます。 しかし教えて頂いたRADIANS関数を使うことによって、数値を角度として模擬出来るのではないかと思いました。 RADIANS関数を使って工夫しようと思います。 とても参考になる回答を下さり、ありがとうございました。 重ね重ねお礼申し上げます。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>数値を円の角度として処理する方法はないのですね。 角度を数値として扱えばグラフ化は可能ですが、地球上の緯度と経度を元に球形の地図(地球儀)へ場所をプロットする機能が無いと思います。 しかし、平面の地図で西経180度を-180、東経180度を180とする値をX軸、南緯90度を-90、北緯90度を90とする値をY軸とすれば平面地図上に位置をプロットできます。 但し、2点間の距離をスケールで測っても北極または南極に近くなるに従って直線の誤差が変化し正しい距離を測定できないでしょう。 >しかし教えて頂いたRADIANS関数を使うことによって、数値を角度として模擬出来るのではないかと思いました。 RADIANS関数は角度の単位を変換する関数なので目的に合いません。 SIN関数やCOS関数を併せて使うと別な視点で有用な結果を得られるかも知れません。 それよりGPSの位置データから距離を算出する方法を考えた方が良いでしょう。

jyaramanti
質問者

お礼

球面を平面に投影しても、得られた図からは異なる緯度の場合では距離の縮尺も異なることになり、不正確になるのですね。 仰いますように距離を直接算出して、その値から最短距離を判定するようにしようと思います。 この度はとても親切に回答を下さり、ありがとうございました。 また度々の質問にもかかわらず回答を下さり、本当にありがとうございました。 重ね重ねお礼申し上げます。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>現在の設定はY軸は最小値が「-90」で最大値は「90」と設定しております。 >X軸は最小値を「-180」、最大値を「180」に設定しています。 >ですが質問では便宜上、最小値を「0」、最大値を「360」とさせて頂きました。 意味不明です。 >セルの値としましてはセルA1に「80」セルB1に「-150」、セルA2に「-50」セルB2に「130」という形で入力してありまして、A列が「-90から90」の間の値を取り、B列が「-180から180」の間の値を取ります。 A列は1行目からランダムに10飛びで19行目まで配置したのですか? それに対するB列の値の規則性は如何様にするのでしょうか? 何れにしても模擬データでA列とB列の値を提示してください。 部分的な提示(A1=80、B1=-150、A2=-50、B2=130)では他の組み合わせが見えてきません。 >これを球面上の角度として「-180」と「180」、または「0」と「360」を同一の角度として直線を結ぶ方法はないものかと思いました。 Excelの散布図では2次元(X軸とY軸)のプロットしか見たことがありませんので「球面上の角度」と言うのがどのようなことか理解できません。 『角度として「-180」と「180」、または「0」と「360」を同一』の値にするにはSIN関数またはCOS関数を使わなければなりません。 A1=0、B1=0として10間隔で360までとしたときC1=SIN(RADIANS(A1))、D1=COS(RADIANS(B1))のように360まで値を変換すればC列とD列の値で散布図をプロットすれば円になります。但し、縦横比が1対1 のとき円になり、それ以外は楕円になります。 質問の内容が理解できないので的外れの回答でしたら無視してください。

jyaramanti
質問者

お礼

補足をさせて頂きます。 A列とB列の値は連続した値ではなくランダムな数です。 A列については地球の緯度のデータでして、-90度(南緯)から90度(北緯)までの値を取ります。(-90~90です) B列については経度です。-180度(西経)から180度(東経)です。ただし-180度と180度は同じものの筈ですので、データ元の方で「以上」「未満」等で分けているとは思います。 これらは例えば落雷のあった地点を表すデータでして、数値の並びは落雷の発生した時刻順です。 具体的にはこのような並びとなっています。 __A__B 1 45 165 2 30 132 3 -20 -10 4 70 -178 5 -50 108 . . . この緯度と経度のデータを散布図にしました。 落雷のあった地点のデータを選択し「直線とマーカー」の散布図にしました。 マーカーとマーカーの間の直線は時系列順にで結ばれます。 この直線を最短距離で結ぶようにしたいです。 しかし地球の経度は日付変更線で途切れていますので、実際には同じ経度である-180度と180度はセルの数値上では全く異なった数値となっています。 地図上で最短距離の直線を引くなら日付変更線も経度も関係なく(地図上で)最短距離を通る直線を引くことができますが、これを散布図上ですることが出来ないものかと思いました。 教えて頂いたRADIANS関数で試してみます。 再度の回答を下さり、ありがとうこざいました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>散布図の横軸を円の角度にするとします。 >0°から360°までですが、実際は0°と360°は同じです。 X軸(横軸)が角度であってもとはX座標で同じになりません。 X座標で同じ位置にするにはSIN(RADIANS(0))とSIN(RADIANS(360))にする必要があります。(COS(RADIANS(0))とCOS(RADIANS(360))も同じになります) >それを「直線とマーカー」の散布図にした時に、横軸上で10°→350°の間に直線が惹かれるのですが、実際は 「下限値 ←10° <直線なし> 350°→上限値」このような表示が最短距離を結ぶ直線となるはずです。 「惹かれる」は「引かれる」の誤変換でしょうか? Y軸の値は0°に対する値と360°に対する値が同じでしょうか? 『実際は 「下限値 ←10° <直線なし> 350°→上限値」このような表示が最短距離を結ぶ直線となるはずです。』とはどのようなことなのか図示して頂かないと分かりません。 Excelでの散布図ではX軸とY軸の2軸が想定されます。(3軸の経験はありません) X軸だけの場合は帯グラフや円グラフしか思いつきません。 >このように表示させることは可能でしょうか? 質問の要件に不備がありますので可否の判断ができません。 Y軸の値について模擬データを提示して頂ければ考え方が分かりますので追加の回答が可能です。

jyaramanti
質問者

補足

まずは回答を下さり、ありがとうございます。 ご指摘下さいました「惹かれる」は誤変換です。 仰います通り「引かれる」と入力するつもりでしたが、私の不注意によりご迷惑をおかけしました。 済みませんでした。 質問内容も不足がありましたので補足させて頂きます。 現在の設定はY軸は最小値が「-90」で最大値は「90」と設定しております。 X軸は最小値を「-180」、最大値を「180」に設定しています。 ですが質問では便宜上、最小値を「0」、最大値を「360」とさせて頂きました。 理由としましては散布図で球面上の座標を表現しようと思いました。 セルの値としましてはセルA1に「80」セルB1に「-150」、セルA2に「-50」セルB2に「130」という形で入力してありまして、A列が「-90から90」の間の値を取り、B列が「-180から180」の間の値を取ります。 A列をY軸として設定し、B列をX軸として設定してあります。 このA列のデータ部分とB列のデータ部分を「挿入」タブで散布図(直線とマーカー)でサムネイルで二種類出てくるうちの右側の方の図を選択しています。 左側の方は系列が二つあるもので、X軸が単純にデータ数となっており、二系列の直線とマーカーが表示され、右側の方は一系列しかなくY軸がA列でX軸がB列となっているものです。 この右側の散布図上で球面を表現していますからY軸はグラフ外の方向が最短距離となることはないのですが、X軸に関しましては「-150」と「130」ではグラフの内側よりも外側の方向を通る方が最短距離を結ぶ直線となりますが、X軸が球面上の角度として認識されない以上はグラフの内側を結ぶ直線しかないようでして、やはりそのように直線が結ばれます。 これを球面上の角度として「-180」と「180」、または「0」と「360」を同一の角度として直線を結ぶ方法はないものかと思いました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

可能です。 データセル全体を選び、普通に散布図を挿入すれば、できます。うまくいかない場合は、行と列を切り替えてみて下さい。 横軸を0~360にしたい場合は、横軸部分で右クリックして、軸の書式で最大値を360にしてみて下さい。なお、10°と350°のデータは単位の無い10と350にしてください。

jyaramanti
質問者

補足

回答ありがとうございます。 試してみたのですが、なかなかうまくできませんでした。 どうしても10からは数値が大きくなるほうに、350からは数値が小さくなる方に直線が結ばれてしまいました。 10と350の差は340ですが、角度でいうなら10から小さい方へ向かい350に直線を結ぶなら差は20です。 このように最短距離で直線を表示させたいです。

関連するQ&A