在matplotlib中获取底部轴用于标记

时间:2016-01-27 21:10:36

标签: python matplotlib

我想将标签添加到图形网格中,仅在最底部轴上添加。我没有得到最初创建的轴,所以我必须通过std::cin >> thing.m_InputState; thing.Calling();查询它们(这意味着以下示例:我无法访问值fig.get_axes())。尽管如此,所有这些轴都是由具有共享x轴的子图创建的。

作为一个例子使用这个简化的例子:

ax

我现在想要使用在轴中检索的数据来获得三个底轴并标记它们。注意:列数可能会有所不同而且未知。

1 个答案:

答案 0 :(得分:0)

不要永久地压平轴阵列。它的形状会告诉你要标注什么。实际上,使用ravel代替flatten来获取原始ax数组的视图,而不是制作不必要的副本:What is the difference between flatten and ravel functions in numpy?

import numpy as np
import pylab as plt
fig, ax = plt.subplots(2, 3, sharex=True)
x = np.arange(0, 5, 0.1)
fax = ax.ravel()
for i in xrange(6):
    y = x ** i
    fax[i].plot(x, y)
for i in range(ax.shape[1]):
    ax[-1, i].set_xlabel("Some junk {}".format(i))
plt.show()