2013-04-07 50 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)