|||
refer to: https://matplotlib.org/stable/gallery/subplots_axes_and_figures/ganged_plots.html#sphx-glr-gallery-subplots-axes-and-figures-ganged-plots-py Creating adjacent subplots To create plots that share a common axis (visually) you can set the hspace between the subplots to zero. Passing sharex=True when creating the subplots will automatically turn off all x ticks and labels except those on the bottom axis. In this example the plots share a common x axis but you can follow the same logic to supply a common y axis. import matplotlib.pyplot as plt import numpy as np t = np.arange(0.0, 2.0, 0.01) s1 = np.sin(2 * np.pi * t) s2 = np.exp(-t) s3 = s1 * s2 fig, axs = plt.subplots(3, 1, sharex=True) # Remove horizontal space between axes fig.subplots_adjust(hspace=0) # Plot each graph, and manually set the y tick values axs[0].plot(t, s1) axs[0].set_yticks(np.arange(-0.9, 1.0, 0.4)) axs[0].set_ylim(-1, 1) axs[1].plot(t, s2) axs[1].set_yticks(np.arange(0.1, 1.0, 0.2)) axs[1].set_ylim(0, 1) axs[2].plot(t, s3) axs[2].set_yticks(np.arange(-0.9, 1.0, 0.4)) axs[2].set_ylim(-1, 1) plt.show() sharex, sharey : bool or {'none', 'all', 'row', 'col'}, default: False Controls sharing of properties among x (`sharex`) or y (`sharey`) axes: - True or 'all': x- or y-axis will be shared among all subplots. - False or 'none': each subplot x- or y-axis will be independent. - 'row': each subplot row will share an x- or y-axis. - 'col': each subplot column will share an x- or y-axis. When subplots have a shared x-axis along a column, only the x tick labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first column subplot are created. To later turn other subplots' ticklabels on, use `~matplotlib.axes.Axes.tick_params`.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-27 10:43
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社