#目的
csv形式で保存している実験計測データをpythonのプログラミングによって3Dカラーマップ表示で実験の差異を可視化させたい。
#実現したいこと・問題点
計測データを3Dグラフで表示するプログラムが書けませんでした。
pythonについて知識が浅いため、csvファイルを読み込んで3Dグラフを表示させる必要モジュールが何かわかりません。
また、[該当データ.csv]の1つ上のディレクトリに存在する日付ファイルの日付を3DグラフのX軸に代入したいのですが、方法を考えられませんでした。
以上の問題を解決したいと思っています。お手数掛けますが、ご教授をお願い致します。
#target.csv内容
freq amp phase 1 0.664948882 458.4664087 3.13683197 2 1.329897764 1.083234728 1.19046451 3 1.994846646 1.639368087 0.28532487 . . . . . . . . . . . .
#該当ソースコード
# coding: UTF-8 import matplotlib.pyplot as plt import numpy as np import pandas as pd import os import glob from mpl_toolkits.mplot3d import Axes3D from scipy import genfromtxt #特定ファイルの検出,*は日別のファイルディレクトリ files = glob.glob("./*/datafile/target.csv") #グラフ描画の定義 fig = plt.figure(figsize=(30,15)) ########FFT3次元カラーマップ表示関数############# def colormapFFT(): #特定ファイルを特定パス内に存在する数だけグラフに描画 for i, file in enumerate(files,1): np = pd.read_csv(file, encoding="UTF-8") x = np.plot(x='*') #時間軸(該当データの1つ上のディレクトリ) y = np.plot(y='freq') #周波数(2列目) z = np.plot(z='amp') #振幅(3列目) #グラフ作成 fig = plt.figure() ax = Axes3D(fig) #グラフ描画 ax.plot(x,y,z) plt.tight_layout() plt.show() #################################### colormapFFT() #上記関数呼び出し
#使用環境
python3.5.2
申し訳ありません。解決済みとしてしまいましたが、説明内容に不備がありました。パス("./*/target.csv")となっていますが、正しくは、("./*/datafile/target.csv")でした。os.path.dirnameですと、1階層上のパスしか見られなくて、datafileを参照出来ません。色々思考しましたが上手く実行出来ませんでしたので、ご教授お願い致します。
お礼のご返事が遅れてしまいまして申し訳ありません。この度は質問に回答して頂きありがとうございます。また、ご丁寧に解説して頂きプログラムの内容が理解しやすく助かりました。もしまた不明点がありましたら質問させて頂きますので、その際はよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー