在matplotlib中对齐一行图

时间:2018-08-25 06:39:44

标签: python matplotlib plot alignment

我已使用以下代码获得5个子图,

$str = "слово";
for ($i = 0, $len = mb_strlen($str); $i < $len; $i++) {
    if ($i) echo '<br>';
    echo mb_substr($str, 0, $i + 1);
}
// с<br>сл<br>сло<br>слов<br>слово

获得下图,

enter image description here

我要居中对齐最后一行子图。我真的很感谢您的帮助。预先感谢。

1 个答案:

答案 0 :(得分:1)

以下是使用gridspec的最小工作答案:

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

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

fig = plt.figure(figsize=(10, 6))

# Define the plots here
gs = gridspec.GridSpec(2, 6)
gs.update(wspace=0.5)
ax1 = plt.subplot(gs[0, :2], )
ax2 = plt.subplot(gs[0, 2:4])
ax3 = plt.subplot(gs[0, 4:], )
ax4 = plt.subplot(gs[1, 1:3])
ax5 = plt.subplot(gs[1, 3:5])

# Plot your data here
ax1.plot(x,y, 'darkorange')
ax2.plot(x,y, 'g')
ax3.plot(x,y, 'b')
ax4.plot(x,y,'r')
ax5.plot(x,y,'purple')

输出

enter image description here