2

假设我有一个由 9 个大小相同的子图组成的 3x3 数组。是否可以制作一个 4x4 图形并用大标题替换顶部和最左侧的子图?

我知道理论上可以使用某种文本框,但是这些文本框的扩展性不是很好,需要进行大量调整。建议将不胜感激。

编辑:我正在考虑与此类似的东西,除了数组内有适当的图表: 在此处输入图像描述

4

2 回答 2

0

对我来说听起来是GridSpecorsubplot2grid的工作。

除了上面的链接,你可以在这里找到一些示例和代码

于 2013-06-07T09:37:04.150 回答
0

您可以使用大的、旋转的 x 和 y 标签来实现类似的效果:

熊猫

from pandas.tools.plotting import scatter_matrix
from pandas import DataFrame
from numpy.random import randn
import matplotlib.pyplot as plt

df = DataFrame(randn(1000, 8), columns=['Label1', 'Label2', 'Label3', 'Label4', 'Label5', 'Label6', 'Label7', 'Label8'])
    fig = scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')
    for axes in fig:
        for ax in axes:
            ax.set_ylabel(ax.get_ylabel(), rotation='horizontal', ha='right', fontsize=16)
            ax.set_xlabel(ax.get_xlabel(), rotation='vertical', fontsize=16)
            ax.set_yticklabels('')
            ax.set_xticklabels('')
    plt.gcf().set_facecolor('w')

在此处输入图像描述

海博恩

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white")

df = DataFrame(randn(50, 6), columns=['Label1', 'Label2', 'Label3', 'Label4', 'Label5', 'Label6'])
g = sns.PairGrid(df, diag_sharey=False, size=1.4)
g.map_lower(sns.kdeplot, cmap="Blues_d")
g.map_upper(plt.scatter)
g.map_diag(sns.kdeplot, lw=2)
for axes in g.axes:
    for ax in axes:
        ax.set_ylabel(ax.get_ylabel(), rotation='horizontal', ha='right', fontsize=20)
        ax.set_xlabel(ax.get_xlabel(), rotation='vertical', fontsize=20)
        ax.set_yticklabels('')
        ax.set_xticklabels('')
        ax.set_frame_on(False)
plt.gcf().set_facecolor('w')

在此处输入图像描述

这两个示例都来自各自的教程,然后进行了一些调整。

于 2014-12-11T17:45:12.277 回答