投稿

ラベル(matplotlib)が付いた投稿を表示しています

matplotlib: 2つのグラフを一度に描画する

イメージ
複数のグラフを表示する 1つまたは2つのファイルから2種類のデータを描画する 縦軸が共通の場合と、異なる場合 例えば以下のようなデータが data.csv という名称で存在するとする。 id,value1,value2 1,0.5,10.4 2,5.4,30.9 3,7.9,80.9 4,10.2,140.9 5,13.2,221.3 同じ軸でプロットしてみる。単に2発Plotすればいいだけ。 こちらの記事も参照 import pandas as pd import matplotlib . pyplot as plt df = pd . read_csv ( 'data.csv' , header = 0 , index_col = 0 ) plt . plot ( df . index , df [ 'value1' ] , marker = 'o' ) plt . plot ( df . index , df [ 'value2' ] , marker = 'x' ) plt . show ( ) 簡単に表示はできるが、異なるスケールであるため青色のプロットの変化が見づらくなってしまっている。 このようにスケールが異なる場合には縦軸を変更すると良い。 # サブプロット (分割プロット) コマンドで軸を取得 fig , ax1 = plt . subplots ( ) # ax1 と Xが共通な軸 = y軸を作成 ax2 = ax1 . twinx ( ) # ax1, ax2に対してプロットを実施 # 区別をつけるために色分け、凡例を出すためにlabelを指定。 ax1 . plot ( df . index , df [ 'value1' ] , color = 'red' , label = '1st line' ) ax2 . plot ( df . index , df [ 'value2' ] , color = 'blue' , label = '2nd line' ) # 各Y軸...

matplotlib: 超単純なデータの可視化

イメージ
 適当なデータをCSV形式で持っているものとする そのデータをグラフ上で示す インストール pip install matplotlib pandas 例えば以下のようなヘッダ付きのCSVファイルがあるとする。ファイル名を data.csv としておく。適当なデータです。 id,value 1,0.5 2,2.8 3,4.9 4,8.6 5,10.9 プロット import pandas as pd import matplotlib.pyplot as plt # 1行目に各列の説明が書かれているので header=0 # 1列目がインデックスに相当するので index_col=0 df= pd.read_csv('data.csv', header=0, index_col=0) # プロットの実施。x, y として使うデータを指定し、〇で表示する # インデックスは .index でアクセスし、それ以外の列は見出し名でアクセス plt.plot(df.index, df['value'], marker='o') # 表示。表示コマンドが分かれているのは、グラフの見た目調整などを別途実施できるため。 plt.show() 環境によりますが、Windowsでは以下のようなグラフが表示されます。表示されたグラフは移動したりズームしたりすることが可能。 ちなみに、df (DataFrameの略、pandasでCSVデータを読んだときに作成されるクラス)の中身を見るには普通に print をしてみるとわかります。 >>> print(df) value id 1 0.5 2 2.8 3 4.9 4 8.6 5 10.9 これ以外のアクセス方やPandas側の機能を利用したPlotもありますのでご確認ください。