質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1780閲覧

図のような3dグラフの描画方法を知りたい

kasuyaro

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/22 03:17

編集2021/05/22 04:56

Pythonを用いて次のような3dグラフを描画する方法を知りたいです.
似たようなグラフの描画方法や,モジュールだけでも教えていただけるとありがたいです.
イメージ説明

(補足情報)
Frequency, Powerは時系列データです.(1次元配列データ)
この図では2つの[Time, Frequency, Power]のデータがグラフ化されています.

[追記]
自分で行った妥協案としては,散布図のグラフに縦方向の直線を追加したものですが,高低差による色の変化がないため,見づらくなってしまいました.
またグラフの完成度も低いです.
イメージ説明

自作グラフのコードは以下になります.

Python

1x = np.linspace(0, 1, 10001) 2# f1, f2 : Frequency (xに対応する一次元配列) 3# a1, a2 : Power (xに対応する一次元配列) 4 5fig = plt.figure() 6ax = Axes3D(fig) 7 8ax.scatter(x, f1, a1, color = 'b') 9ax.scatter(x, f2, a2, color = 'r') 10i = 0 11while (i <= 10000) : 12 ax.plot([x[i], x[i]], [f1[i], f1[i]], [0, a1[i]], color = 'b') 13 ax.plot([x[i], x[i]], [f2[i], f2[i]], [0, a2[i]], color = 'r') 14 i += 1 15 16 17plt.show()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Matplotlib mplot3d Surface Plots でできるようです。

matplotlibで3Dプロットの作成 をご参照ください。

投稿2021/05/22 03:29

編集2021/05/22 03:30
ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kasuyaro

2021/05/22 04:47

回答ありがとうございます. そちらのSurface Plotsを試したところ,Z方向のデータが単純な1次元配列であるためにうまくいきませんでした. meshgridで作成した格子に1次元配列を組み込む方法を自力で模索している状況です.
ppaul

2021/05/22 10:00

最初に示された一番上のグラフだと、独立変数は時間と周波数で、出力はその二変数関数に見えますが、そうではないのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問