簡體   English   中英

在 Matplotlib 中為文本添加沒有軸刻度/標簽的空子圖作為子圖

[英]Add Empty Subplot With No Axis Ticks/Labels for Text as Subplot in Matplotlib

我的目標是創建帶有四個子圖的圖,其中底部兩個實際上只是空框,我將在其中顯示一些文本。 不幸的是,我刪除 y 和 x 軸刻度線和標簽的所有努力都失敗了。 我還是 matplotlib 的新手,所以我確定我遺漏了一些簡單的東西。 這是我正在嘗試和我得到的:

import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2, sharex=False, sharey=True, figsize=(6,6))
fig.add_subplot(111, frameon=False)
plt.tick_params(labelcolor='none', top=False, bottom=False, left=False, right=False)
plt.title('Neuron Length')
plt.xlabel('Strain')
plt.ylabel('Neuron Length (um)')

aIP = fig.add_subplot(223, frameon=False)
aIP.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5),
               xycoords='axes fraction', va='center')
# First approach
aIP.axes.xaxis.set_ticks([])
aIP.axes.yaxis.set_ticks([])
# Second approach
ax = plt.gca()
ax.axes.yaxis.set_visible(False)

plt.show()

4x4 空子圖網格,帶有 x 和 y 標簽以及刻度線

這是通過使用plt.subplots()繪制其中四個並移除左下角框架來實現的。

import matplotlib.pyplot as plt
import numpy as np

t = np.linspace(-np.pi, np.pi, 1000)
x1 = np.sin(2*t)
x2 = np.cos(2*t)
x3 = x1 + x2

fig,axes = plt.subplots(nrows=2,ncols=2,figsize=(6,6), sharex=True, sharey=True)

axes[0,0].plot(t, x1, linewidth=2)
axes[0,1].plot(t, x2, linewidth=2)
axes[1,1].plot(t, x3, linewidth=2)
axes[1,0].axis('off') # off
axes[1,0].annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5), xycoords='axes fraction', va='center')

fig.suptitle('Neuron Length')

for ax in axes.flat:
    ax.set(xlabel='Strain', ylabel='Neuron Length (um)')

plt.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM