2013-06-07 2 views
2

Предположим, у меня есть массив из 3-х точек из 9 подзаголовков одинакового размера. Можно ли сделать цифру 4x4 и заменить верхние и левые подзаголовки большими заголовками?Заголовки строк и столбцов матовой подсети matplotlib (замена подзаголовков заголовками)

Я знаю, что теоретически можно использовать текстовое поле, но они не очень хорошо масштабируются и требуют много настроек. Предложения будут высоко оценены.

EDIT: Я имел в виду что-то похожее на это, кроме как с собственных графиков внутри массива: enter image description here

+0

Возможно, существует более чистый способ, но вы можете подделать это, просто используя 'text' или' annotate' внутри осей кромки. – tacaswell

ответ

0

Звуки мне задание для GridSpec or subplot2grid.

Помимо указанной выше ссылке, вы можете найти некоторые примеры и код here

+0

Спасибо, Франческо, но это не совсем то, что я ищу. Мне нужна система заголовков строк или столбцов. Вы отправили ссылки для слияния нескольких подзаговоров. – TimY

+0

У вас есть пример того, чего вы хотите достичь? –

+0

Жаль, что я не понял. Я обновляю вопрос с изображением. – TimY

0

Вы можете использовать большой, повернутый х и у меток, чтобы достичь чего-то подобное:

панды

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') 

enter image description here

Морской транспорт

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') 

enter image description here

Оба примера взят из соответствующих учебных пособий, а затем переделан немного.

Смежные вопросы