[解決済み] Python 2.7でpylabを関数レベルでインポートするには、どのような方法が望ましいですか?
質問
データセットの時間領域の履歴と、高速フーリエ変換後のデータセットの周波数領域の応答をプロットするために使用できる、比較的簡単な関数をpythonで書きました。 この関数では、コマンド
from pylab import *
を使えば、必要な機能をすべて取り込むことができます。 しかし、プロットの作成には成功したものの、次のような警告が表示されます。
import * はモジュール・レベルでのみ許可されます。
そのため、コマンドを使用する場合は
from pylab import *
が望ましい方法ではない場合、どのようにしたらパイラボから必要なすべての機能を適切に読み込むことができるのでしょうか? コードは以下に添付します。 また、関数が終了した後、図を閉じる方法はありますか?
plt.close()
というのは、サブプロットでは認識されないのでしょうか?
def Time_Domain_Plot(Directory,Title,X_Label,Y_Label,X_Data,Y_Data):
# Directory: The path length to the directory where the output file is
# to be stored
# Title: The name of the output plot, which should end with .eps or .png
# X_Label: The X axis label
# Y_Label: The Y axis label
# X_Data: X axis data points (usually time at which Yaxis data was acquired
# Y_Data: Y axis data points, usually amplitude
from pylab import *
from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})
Output_Location = Directory.rstrip() + Title.rstrip()
fig,plt = plt.subplots()
matplotlib.rc('xtick',labelsize=18)
matplotlib.rc('ytick',labelsize=18)
plt.set_xlabel(X_Label,fontsize=18)
plt.set_ylabel(Y_Label,fontsize=18)
plt.plot(X_Data,Y_Data,color='red')
fig.savefig(Output_Location)
plt.clear()
解決方法は?
からの matplotlibのドキュメント :
pylab
を一括してインポートする便利なモジュールです。matplotlib.pyplot
(プロット用)とnumpy
(数学と配列の操作用)を単一の名前空間で使用することができます。多くの例ではpylab
しかし、これはもはや推奨されない。
をインポートしないことをお勧めします。
pylab
を使用し、その代わりに
import matplotlib
import matplotlib.pyplot as plt
そして、すべての
pyplot
関数を
plt
.
の2番目の返り値を代入していることにも気づきました。
plt.subplots()
を
plt
. その変数を次のような名前に変更する必要があります。
fft_plot
(高速フーリエ変換の場合) と名前の衝突を避けるために
pyplot
.
もう一つの質問(「about」)についてですが
fig, save fig()
を削除する必要があります。
fig
を呼び出すことになります。
savefig()
で
plt.savefig()
の関数であるからです。
pyplot
モジュールです。ですから、その行は次のようになります。
plt.savefig(Output_Location)
こんな感じで試してみてください。
def Time_Domain_Plot(Directory,Title,X_Label,Y_Label,X_Data,Y_Data):
# Directory: The path length to the directory where the output file is
# to be stored
# Title: The name of the output plot, which should end with .eps or .png
# X_Label: The X axis label
# Y_Label: The Y axis label
# X_Data: X axis data points (usually time at which Yaxis data was acquired
# Y_Data: Y axis data points, usually amplitude
import matplotlib
from matplotlib import rcParams, pyplot as plt
rcParams.update({'figure.autolayout': True})
Output_Location = Directory.rstrip() + Title.rstrip()
fig,fft_plot = plt.subplots()
matplotlib.rc('xtick',labelsize=18)
matplotlib.rc('ytick',labelsize=18)
fft_plot.set_xlabel(X_Label,fontsize=18)
fft_plot.set_ylabel(Y_Label,fontsize=18)
plt.plot(X_Data,Y_Data,color='red')
plt.savefig(Output_Location)
plt.close()
関連
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] Python 3 の "python -m SimpleHTTPServer" に相当するものは何ですか?
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み] Pythonの "assert "はどのように使うのですか?
-
[解決済み] Pythonでホームディレクトリを取得するための正しいクロスプラットフォームな方法は何ですか?
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
-
[解決済み] Pythonで配列の長さを取得するには、arr.__len__()が好ましいですか?
-
[解決済み] Pythonの関数内の静的変数に相当するものは何ですか?
-
[解決済み】Pythonで複数のコンストラクタを持つためのクリーンでPythonicな方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python関数の高度な応用を解説
-
python string splicing.join()とsplitting.split()の説明
-
Pythonによるjieba分割ライブラリ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
PythonによるExcelファイルの一括操作の説明
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み] データ型が理解できない
-
[解決済み】Flaskのテンプレートが見つからない【重複あり