0

に線グラフと棒グラフをプロットしていましたがmatplotlib、どちらも個別にスクリプトで正常に機能していました。
しかし、私は問題に直面しています:
1.同じ出力ウィンドウに両方のグラフをプロットしたい
場合2.表示ウィンドウを1024*700にカスタマイズしたい場合

最初のケースでは、サブプロットを使用して同じウィンドウに2つのグラフをプロットしていましたが、両方のグラフに個別のx軸とy軸の名前、および個別のタイトルを付けることができません。私の失敗したコードは次のとおりです。

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
xs,ys = np.loadtxt("c:/users/name/desktop/new folder/x/counter.cnt",delimiter = ',').T
fig = plt.figure()
lineGraph = fig.add_subplot(211)
barChart = fig.add_subplot(212)

plt.title('DISTRIBUTION of NUMBER')
lineGraph = lineGraph.plot(xs,ys,'-')  #generate line graph
barChart = barChart.bar(xs,ys,width=1.0,facecolor='g') #generate bar plot

plt.grid(True)
plt.axis([0,350,0,25])  #controlls axis for charts x first and then y axis.


plt.savefig('new.png',dpi=400)
plt.show()

しかし、これでは両方のグラフを正しくマークすることができません。
また、ウィンドウのサイズを1024*700に変更する方法についてのアイデアを見つけてください。

4

2 に答える 2

1

あなたが言う時

サブプロットを使用して同じウィンドウに2つのグラフをプロットしていましたが、両方のグラフに個別のx軸とy軸の名前、および個別のタイトルを付けることができません。

軸ラベルを設定したいですか?lineGraph.set_xlabelその場合は、とを使用してみてくださいlineGraph.set_ylabel。または、プロットを作成した直後で、他のプロットを作成する前にplt.xlabel、を呼び出します。plot.ylabel例えば

# Line graph subplot
lineGraph = lineGraph.plot(xs,ys,'-')
lineGraph.set_xlabel('x')
lineGraph.set_ylabel('y')

# Bar graph subplot
barChart = barChart.bar(xs,ys,width=1.0,facecolor='g')
barChart.set_xlabel('x')
barChart.set_ylabel('y')

同じことがタイトルにも当てはまります。を呼び出すと、現在アクティブなプロットplt.titleにタイトルが追加されます。これは、作成した最後のプロット、またはでアクティブにした最後のプロットです。特定のサブプロットにタイトルが必要な場合は、サブプロットハンドルを使用します:または。plt.gcalineGraph.set_titlebarChart.set_title

于 2012-05-17T09:51:20.383 に答える
0

fig.add_subplotmatplotlibAxesオブジェクトを返します。Chrisによって説明されているように、set_xlabelそのオブジェクトのメソッドにはとが含まれます。set_ylabelAxesオブジェクトで使用可能なメソッドの完全なセットはhttp://matplotlib.sourceforge.net/api/axes_api.htmlで確認できます。

于 2012-05-20T00:12:50.497 に答える