106

単一のimshowプロットをプロットする場合、使用できます

fig, ax = plt.subplots()
ax.imshow(data)
plt.xticks( [4, 14, 24],  [5, 15, 25] )

私のxtickラベルを置き換えるために。

今、私は12imshowのプロットをプロットしています

f, axarr = plt.subplots(4, 3)
axarr[i, j].imshow(data)

これらのサブプロットの 1 つだけで xticks を変更するにはどうすればよいですか? サブプロットの軸にのみアクセスできますaxarr[i, j]。特定のサブプロットにのみアクセスするにはどうすればよいpltですか?

4

2 に答える 2

37

次の解決策が提案されている matplotlib リポジトリの (かなり) 最近の回答を参照してください。

  • xticklabels を設定する場合:

    ax.set_xticks([1,4,5]) 
    ax.set_xticklabels([1,4,5], fontsize=12)
    
  • xticklabels のフォントサイズだけを大きくしたい場合は、デフォルトの値と場所を使用します (これは私が個人的に頻繁に必要とし、非常に便利だと思うものです):

    ax.tick_params(axis="x", labelsize=12) 
    
  • すべてを一度に行うには:

    plt.setp(ax.get_xticklabels(), fontsize=12, fontweight="bold", 
             horizontalalignment="left")`
    
于 2019-04-30T15:02:19.443 に答える