• 締切済み

時系列を矢印で示す

定期的にとっている2つの評価軸A・Bがあり、x軸にA,y軸にBをプロットし、そのプロットを時系列順に矢印で結んでいくグラフをつくることのできるグラフ作成ソフトはあるでしょうか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

作成ソフトはあるかどうかわかりませんが、 エクセルVBAを使ってやってみました。 下記を参考に色々試行してみてはどうでしょう。 ーー 例データ A列  B列 1 2 1 2 2 3 4 4 5 4 6 4 3 3 ーー コード VBE画面の標準モジュールに貼り付けて実行のこと。 Sub Macro1() ActiveSheet.DrawingObjects.Delete For i = 1 To 6 x1 = Cells(i, "A") * 100: y1 = Cells(i, "B") * 100 x2 = Cells(i + 1, "A") * 100: y2 = Cells(i + 1, "B") * 100 ActiveSheet.Shapes.AddLine(x1, 600 - y1, x2, 600 - y2).Select Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOpen Next i End Sub 1.シェイプの直線を引く操作のマクロの記録を参考にしてます。 2.For i = 1 To 6の6はデータ行数より1少なくします 3. Cells(i, "A") * 100の100は見た目の縮尺を調節するための ものですから、適当な数値を考えてください。 x、yとも100倍してますが、xとYにそれぞれ掛ける数は別別の乗数でも良いと思う。 4.600 - y1の600より引いている理由は、、普通は第4象的にグラフが描かれるため(y1、y2が大であれば端点が下に来る)が、通常感覚では大は上に来るのが望ましいので、こういう調節をした。 ーー 以上アラ削りで、色や線の太さ・矢印に形や大きさなどマクロの記録に指定の仕方が出ますので、まねて自分の好みのものにしてみてください。 非常にシンプルなモデル的なデータでしかやっていないので、現実の例で使えるかどうかわかりません。 データの(有効桁数や小数点以下桁数)桁数などはできるだけ簡素化して桁数を少なくしてやってください。

637785
質問者

お礼

ご丁寧な回答をありがとうございます。 これでできたラインをx軸、y軸のフォーマットの上におけばいいのでしょうか? ひとまず、取り組んでみます。 ありがとうございました。

関連するQ&A