2016-05-26 16 views
3

グリッドをプロットするコードをいくつか用意しています。各セルのデータは個別で非常に特定の位置にあります。私が見つけた最も簡単な方法は、gridspecを使ってグリッドを作成し、それを使ってサブプロットを正確に配置することでしたが、グリッド全体が各軸に沿って0から1までラベル付けされるという問題があります。これは、グリッドの寸法が変更された場合でも、毎回発生します。明らかにこれらの数値は私のデータとの関連性がなく、私が表示しようとしているのは定量的ではなく定性的なものなので、このプロットからすべてのラベルを完全に削除したいと思います。python matplotlib gridspec、不要な任意の軸ラベル

Here is a link to an image with an example of my problem

そして、ここで私はそのイメージを作成するために使用MWEです:

import numpy as np 
import matplotlib.gridspec as gridspec 
import matplotlib.pyplot as plt 

# mock-up of data being used 
x = 6 
y = 7 
table = np.zeros((x, y)) 

# plotting 
fig = plt.figure(1) 
gs = gridspec.GridSpec(x, y, wspace=0, hspace=0) 
plt.title('Example Plot') 

for (j, k), img in np.ndenumerate(table): 
    ax = fig.add_subplot(gs[x - j - 1, k]) 
    ax.set_xticklabels('') 
    ax.set_yticklabels('') 

plt.show() 

私はこの問題のようなもののノートを見つけることができていないので、任意の助けをいただければ幸いです。

答えて

1

あなただけのプロット上のグリッドを描きたい場合は、このコードを使用します。

import numpy as np 
import matplotlib.pyplot as plt 

# mock-up of data being used 
x = 6 
y = 7 
table = np.zeros((x, y)) 

# plotting 
fig = plt.figure(1) 
plt.title('Example Plot') 

plt.gca().xaxis.grid(True, color='darkgrey', linestyle='-') 
plt.gca().yaxis.grid(True, color='darkgrey', linestyle='-') 
plt.show() 

別のバリアントがgridspec使用されます。

... 
# hide ticks of main axes 
ax0 = plt.gca() 
ax0.get_xaxis().set_ticks([]) 
ax0.get_yaxis().set_ticks([]) 

gs = gridspec.GridSpec(x, y, wspace=0, hspace=0) 
plt.title('Example Plot') 

for (j, k), img in np.ndenumerate(table): 
    ax = fig.add_subplot(gs[x - j - 1, k]) 
    # hide ticks of gribspec axes 
    ax.get_xaxis().set_ticks([]) 
    ax.get_yaxis().set_ticks([]) 

enter image description here

+0

これは面白いトリックですI心に留めておきますが、実際には私の問題を解決するものではありません。私のフルコードは、グリッドの各セルに異なるデータをプロットしています。そのため、グリッドスペックを使用してサブプロットを作成しています。私は上にリンクされた画像に示されているようにグリッド構造を維持しながら、私のデータに関係のないグリッドのx軸とy軸に沿った数値を削除することを検討しています。 – astrobel

+0

ダニとラベルのないグリッドスペックプロットが必要なのは分かりますか? – Serenity

+0

一般的に、以前の回答にgridspecのバリアントを追加しました。 – Serenity

関連する問題