ganged_plots
创建相邻的子图要创建共享公共轴(可视化)的图,可以将子图之间的hspace设置为零。 在创建子图时传递sharex = True将自动关闭除底部轴上的所有x刻度和标签。 在此示例中,绘图共享一个公共x轴,但您可以遵循相同的逻辑来提供公共y轴。 123456789101112131415161718192021222324252627import matplotlib.pyplot as pltimport numpy as npt = np.arange(0.0, 2.0, 0.01)s1 = np.sin(2 * np.pi * t)s2 = np.exp(-t)s3 = s1 * s2fig, axs = plt.subplots(3, 1, sharex=True)# Remove horizontal space between axesfig.subplots_adjust(hspace=0)# Plot each graph, and manually set the y tick valuesaxs[0].plot(t, s1)axs[0].set_yt...
gridspec_nested
嵌套的GridspecsGridSpec可以嵌套,因此来自父GridSpec的子图可以设置嵌套的子图网格的位置。 1234567891011121314151617181920212223242526272829303132333435363738import matplotlib.pyplot as pltimport matplotlib.gridspec as gridspecdef format_axes(fig): for i, ax in enumerate(fig.axes): ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") ax.tick_params(labelbottom=False, labelleft=False)# gridspec inside gridspecf = plt.figure()gs0 = gridspec.GridSpec(1, 2, figure=f)gs00 = gr...
gridspec_and_subplots
使用子图和GridSpec组合两个子图有时我们想要在用子图创建的轴布局中组合两个子图。我们可以从轴上获取GridSpec,然后移除覆盖的轴并用新的更大的轴填充间隙。 在这里,我们创建一个布局,最后一列中的底部两个轴组合在一起。 请参阅:使用GridSpec和其他功能自定义图布局。 123456789101112import matplotlib.pyplot as pltfig, axs = plt.subplots(ncols=3, nrows=3)gs = axs[1, 2].get_gridspec()# remove the underlying axesfor ax in axs[1:, -1]: ax.remove()axbig = fig.add_subplot(gs[1:, -1])axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5), xycoords='axes fraction', va='center'...
gridspec_multicolumn
使用GridSpec制作多列/行子图布局GridSpec是布置子打印网格的一种灵活方式。下面是一个使用3x3网格和横跨所有三列、两列和两行的轴的示例。 1234567891011121314151617181920212223import matplotlib.pyplot as pltfrom matplotlib.gridspec import GridSpecdef format_axes(fig): for i, ax in enumerate(fig.axes): ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") ax.tick_params(labelbottom=False, labelleft=False)fig = plt.figure(constrained_layout=True)gs = GridSpec(3, 3, figure=fig)ax1 = fig.add_subplot(...
invert_axes
反转轴可以通过翻转轴限制的法线顺序来使用递减轴。 123456789101112131415import matplotlib.pyplot as pltimport numpy as npt = np.arange(0.01, 5.0, 0.01)s = np.exp(-t)plt.plot(t, s)plt.xlim(5, 0) # decreasing timeplt.xlabel('decreasing time (s)')plt.ylabel('voltage (mV)')plt.title('Should be growing...')plt.grid(True)plt.show() 下载这个示例 下载python源码: invert_axes.py 下载Jupyter notebook: invert_axes.ipynb
multiple_figs_demo
多外形演示使用多个图形窗口和子图形。 123456import matplotlib.pyplot as pltimport numpy as npt = np.arange(0.0, 2.0, 0.01)s1 = np.sin(2*np.pi*t)s2 = np.sin(4*np.pi*t) Create figure 1 12345plt.figure(1)plt.subplot(211)plt.plot(t, s1)plt.subplot(212)plt.plot(t, 2*s1) Create figure 2 12plt.figure(2)plt.plot(t, s2) Now switch back to figure 1 and make some changes 1234567plt.figure(1)plt.subplot(211)plt.plot(t, s2, 's')ax = plt.gca()ax.set_xticklabels([])plt.show() 下载这个示例 下载python源码: multiple_figs_...
shared_axis_demo
共享轴演示通过将轴实例作为sharex或sharey kwarg传递,可以将一个轴的x或y轴限制与另一个轴共享。 更改一个轴上的轴限制将自动反映在另一个轴上,反之亦然,因此当您使用工具栏导航时,轴将在其共享轴上相互跟随。同样适用于轴缩放的变化(例如,log vs linear)。但是,刻度标签可能存在差异,例如,您可以选择性地关闭一个轴上的刻度标签。 下面的示例显示了如何在各个轴上自定义刻度标签。共享轴共享刻度定位器,刻度格式化程序,视图限制和变换(例如,对数,线性)。但是,ticklabels本身并不共享属性。这是一个功能而不是误差,因为您可能希望在上轴上使刻度标签更小,例如,在下面的示例中。 如果要关闭给定轴的刻度标签(例如,在子图(211)或子图(212)上),则无法执行标准技巧: 1setp(ax2, xticklabels=[]) 因为这会更改在所有轴之间共享的Tick格式化程序。但您可以更改标签的可见性,这是一个特性: 1setp(ax2.get_xticklabels(), visible=False) 1234567891011121314151617181...
subplot
多个子图带有多个子图的简单演示。 123456789101112131415161718192021import numpy as npimport matplotlib.pyplot as pltx1 = np.linspace(0.0, 5.0)x2 = np.linspace(0.0, 2.0)y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)y2 = np.cos(2 * np.pi * x2)plt.subplot(2, 1, 1)plt.plot(x1, y1, 'o-')plt.title('A tale of 2 subplots')plt.ylabel('Damped oscillation')plt.subplot(2, 1, 2)plt.plot(x2, y2, '.-')plt.xlabel('time (s)')plt.ylabel('Undamped')plt.show() 下载这个示例 下载pyt...
subplot_toolbar
子图工具栏Matplotlib有一个工具栏可用于调整子图(suplot)间距。 123456789101112131415import matplotlib.pyplot as pltimport numpy as npfig, axs = plt.subplots(2, 2)axs[0, 0].imshow(np.random.random((100, 100)))axs[0, 1].imshow(np.random.random((100, 100)))axs[1, 0].imshow(np.random.random((100, 100)))axs[1, 1].imshow(np.random.random((100, 100)))plt.subplot_tool()plt.show() 下载这个示例 下载python源码: subplot_toolbar.py 下载Jupyter notebook: subplot_toolbar.ipynb
subplot_demo
基本子图演示演示有两个子图。有关更多选项,请参阅子图演示。 12345678910111213141516171819import numpy as npimport matplotlib.pyplot as plt# Data for plottingx1 = np.linspace(0.0, 5.0)x2 = np.linspace(0.0, 2.0)y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)y2 = np.cos(2 * np.pi * x2)# Create two subplots sharing y axisfig, (ax1, ax2) = plt.subplots(2, sharey=True)ax1.plot(x1, y1, 'ko-')ax1.set(title='A tale of 2 subplots', ylabel='Damped oscillation')ax2.plot(x2, y2, 'r.-')ax2.set(xlabel=...














