2013-04-07 52 views
2

我有一個格子樣陰謀我試圖在matplotlib產生。下面是我去爲我的草圖:matplotlib共享的行標籤(不是y標籤)在包含subplots的陰謀

我有越來越共享行標籤的每一行麻煩

enter image description here

一件事。即在我的情節中,我有四行用於四組不同的實驗,所以我需要行標籤「1個源節點,2個源節點,4個源節點和8個源節點」。

注意,我參照於y軸標籤,正被用於標記因變量。因變量在所有子圖中都是相同的,但我在後面的標籤中描述了進行的四類實驗,每行一個。

fig, axes = plt.subplots(4, 5, sharey=True) 

雖然我已經找到了很多的信息共享,y軸的標籤,我沒有發現任何東西上添加一個單一的共享:

此刻,我與生成的情節行標籤。

+0

你也讓列標籤?如果是這樣,你使用'ax.set_title()'或其他的東西? – Robbert 2013-04-07 14:34:25

+0

我還需要列標籤,但尚未實施或決定採用最佳方法。 – 2013-04-07 14:49:32

回答

4

據我所知沒有ytitle什麼的。您可以使用text來顯示一些文本。 xy處於數據座標中。 hava分別是水平和垂直對齊。

import numpy 
import matplotlib 
import matplotlib.pyplot as plt 

n_rows = 4 
n_cols = 5 
fig, axes = plt.subplots(n_rows, n_cols, sharey = True) 

axes[0][0].set_ylim(0,10) 

for i in range(n_cols): 
    axes[0][i].text(x = 0.5, y = 12, s = "column label", ha = "center") 
    axes[n_rows-1][i].set_xlabel("xlabel") 

for i in range(n_rows): 
    axes[i][0].text(x = -0.8, y = 5, s = "row label", rotation = 90, va = "center") 
    axes[i][0].set_ylabel("ylabel") 

plt.show() 
0

你可以給標題,以次要情節,最上面一行像Robbert建議

fig, axes = plt.subplots(4,3) 

for i, ax in enumerate(axes[0,:]): 
    ax.set_title('col%i'%i)