@@ -1038,115 +1038,119 @@ def subplot(*args, **kwargs):
1038
1038
1039
1039
1040
1040
def subplots (nrows = 1 , ncols = 1 , sharex = False , sharey = False , squeeze = True ,
1041
- subplot_kw = None , gridspec_kw = None , ** fig_kw ):
1041
+ subplot_kw = None , gridspec_kw = None , ** fig_kw ):
1042
1042
"""
1043
- Create a figure with a set of subplots already made.
1043
+ Create a figure and a set of subplots
1044
1044
1045
1045
This utility wrapper makes it convenient to create common layouts of
1046
1046
subplots, including the enclosing figure object, in a single call.
1047
1047
1048
- Keyword arguments:
1049
-
1050
- *nrows* : int
1051
- Number of rows of the subplot grid. Defaults to 1.
1052
-
1053
- *ncols* : int
1054
- Number of columns of the subplot grid. Defaults to 1.
1055
-
1056
- *sharex* : string or bool
1057
- If *True*, the X axis will be shared amongst all subplots. If
1058
- *True* and you have multiple rows, the x tick labels on all but
1059
- the last row of plots will have visible set to *False*
1060
- If a string must be one of "row", "col", "all", or "none".
1061
- "all" has the same effect as *True*, "none" has the same effect
1062
- as *False*.
1063
- If "row", each subplot row will share a X axis.
1064
- If "col", each subplot column will share a X axis and the x tick
1065
- labels on all but the last row will have visible set to *False*.
1066
-
1067
- *sharey* : string or bool
1068
- If *True*, the Y axis will be shared amongst all subplots. If
1069
- *True* and you have multiple columns, the y tick labels on all but
1070
- the first column of plots will have visible set to *False*
1071
- If a string must be one of "row", "col", "all", or "none".
1072
- "all" has the same effect as *True*, "none" has the same effect
1073
- as *False*.
1074
- If "row", each subplot row will share a Y axis and the y tick
1075
- labels on all but the first column will have visible set to *False*.
1076
- If "col", each subplot column will share a Y axis.
1077
-
1078
- *squeeze* : bool
1079
- If *True*, extra dimensions are squeezed out from the
1080
- returned axis object:
1081
-
1082
- - if only one subplot is constructed (nrows=ncols=1), the
1083
- resulting single Axis object is returned as a scalar.
1084
-
1085
- - for Nx1 or 1xN subplots, the returned object is a 1-d numpy
1086
- object array of Axis objects are returned as numpy 1-d
1087
- arrays.
1088
-
1089
- - for NxM subplots with N>1 and M>1 are returned as a 2d
1090
- array.
1091
-
1092
- If *False*, no squeezing at all is done: the returned axis
1093
- object is always a 2-d array containing Axis instances, even if it
1094
- ends up being 1x1.
1095
-
1096
- *subplot_kw* : dict
1048
+ Parameters
1049
+ ----------
1050
+ nrows, ncols : int, optional, default: 1
1051
+ Number of rows/columns of the subplot grid.
1052
+
1053
+ sharex, sharey : bool or {'none', 'all', 'row', 'col'}, default: False
1054
+ Controls sharing of properties among x (`sharex`) or y (`sharey`)
1055
+ axes:
1056
+
1057
+ - True or 'all': x- or y-axis will be shared among all
1058
+ subplots.
1059
+ - False or 'none': each subplot x- or y-axis will be
1060
+ independent.
1061
+ - 'row': each subplot row will share an x- or y-axis.
1062
+ - 'col': each subplot column will share an x- or y-axis.
1063
+
1064
+ When subplots have a shared x-axis along a column, only the x tick
1065
+ labels of the bottom subplot are visible. Similarly, when subplots
1066
+ have a shared y-axis along a row, only the y tick labels of the first
1067
+ column subplot are visible.
1068
+
1069
+ squeeze : bool, optional, default: True
1070
+ - If True, extra dimensions are squeezed out from the returned Axes
1071
+ object:
1072
+
1073
+ - if only one subplot is constructed (nrows=ncols=1), the
1074
+ resulting single Axes object is returned as a scalar.
1075
+ - for Nx1 or 1xN subplots, the returned object is a 1D numpy
1076
+ object array of Axes objects are returned as numpy 1D arrays.
1077
+ - for NxM, subplots with N>1 and M>1 are returned as a 2D arrays.
1078
+
1079
+ - If False, no squeezing at all is done: the returned Axes object is
1080
+ always a 2D array containing Axes instances, even if it ends up
1081
+ being 1x1.
1082
+
1083
+ subplot_kw : dict, optional
1097
1084
Dict with keywords passed to the
1098
- :meth:`~matplotlib.figure.Figure.add_subplot` call used to
1099
- create each subplots .
1085
+ :meth:`~matplotlib.figure.Figure.add_subplot` call used to create each
1086
+ subplot .
1100
1087
1101
- * gridspec_kw* : dict
1088
+ gridspec_kw : dict, optional
1102
1089
Dict with keywords passed to the
1103
- :class:`~matplotlib.gridspec.GridSpec` constructor used to create
1104
- the grid the subplots are placed on.
1090
+ :class:`~matplotlib.gridspec.GridSpec` constructor used to create the
1091
+ grid the subplots are placed on.
1105
1092
1106
- * fig_kw* : dict
1093
+ fig_kw : dict, optional
1107
1094
Dict with keywords passed to the :func:`figure` call. Note that all
1108
1095
keywords not recognized above will be automatically included here.
1109
1096
1110
- Returns:
1111
-
1112
- fig, ax : tuple
1097
+ Returns
1098
+ -------
1099
+ fig : :class:`matplotlib.figure.Figure` object
1113
1100
1114
- - *fig* is the :class:`matplotlib.figure.Figure` object
1101
+ ax : Axes object or array of Axes objects.
1115
1102
1116
- - *ax* can be either a single axis object or an array of axis
1117
- objects if more than one subplot was created. The dimensions
1118
- of the resulting array can be controlled with the squeeze
1103
+ ax can be either a single :class:`matplotlib.axes.Axes` object or an
1104
+ array of Axes objects if more than one subplot was created. The
1105
+ dimensions of the resulting array can be controlled with the squeeze
1119
1106
keyword, see above.
1120
1107
1121
- Examples::
1108
+ Examples
1109
+ --------
1110
+ First create some toy data:
1111
+
1112
+ >>> x = np.linspace(0, 2*np.pi, 400)
1113
+ >>> y = np.sin(x**2)
1122
1114
1123
- x = np.linspace(0, 2*np.pi, 400)
1124
- y = np.sin(x**2)
1115
+ Creates just a figure and only one subplot
1125
1116
1126
- # Just a figure and one subplot
1127
- f, ax = plt.subplots()
1128
- ax.plot(x, y)
1129
- ax.set_title('Simple plot')
1117
+ >>> fig, ax = plt.subplots()
1118
+ >>> ax.plot(x, y)
1119
+ >>> ax.set_title('Simple plot')
1130
1120
1131
- # Two subplots, unpack the output array immediately
1132
- f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
1133
- ax1.plot(x, y)
1134
- ax1.set_title('Sharing Y axis')
1135
- ax2.scatter(x, y)
1121
+ Creates two subplots and unpacks the output array immediately
1136
1122
1137
- # Four polar axes
1138
- plt.subplots(2, 2, subplot_kw=dict(polar=True))
1123
+ >>> f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
1124
+ >>> ax1.plot(x, y)
1125
+ >>> ax1.set_title('Sharing Y axis')
1126
+ >>> ax2.scatter(x, y)
1139
1127
1140
- # Share a X axis with each column of subplots
1141
- plt.subplots(2, 2, sharex='col')
1128
+ Creates four polar axes, and accesses them through the returned array
1142
1129
1143
- # Share a Y axis with each row of subplots
1144
- plt.subplots(2, 2, sharey='row')
1130
+ >>> fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True))
1131
+ >>> axes[0, 0].plot(x, y)
1132
+ >>> axes[1, 1].scatter(x, y)
1145
1133
1146
- # Share a X and Y axis with all subplots
1147
- plt.subplots(2, 2, sharex='all', sharey='all')
1148
- # same as
1149
- plt.subplots(2, 2, sharex=True, sharey=True)
1134
+ Share a X axis with each column of subplots
1135
+
1136
+ >>> plt.subplots(2, 2, sharex='col')
1137
+
1138
+ Share a Y axis with each row of subplots
1139
+
1140
+ >>> plt.subplots(2, 2, sharey='row')
1141
+
1142
+ Share both X and Y axes with all subplots
1143
+
1144
+ >>> plt.subplots(2, 2, sharex='all', sharey='all')
1145
+
1146
+ Note that this is the same as
1147
+
1148
+ >>> plt.subplots(2, 2, sharex=True, sharey=True)
1149
+
1150
+ See Also
1151
+ --------
1152
+ figure
1153
+ subplot
1150
1154
"""
1151
1155
fig = figure (** fig_kw )
1152
1156
axs = fig .subplots (nrows = nrows , ncols = ncols , sharex = sharex , sharey = sharey ,
0 commit comments