@@ -18,6 +18,12 @@ values is a single line of python
18
18
See :ref: `customizing-with-matplotlibrc-files ` for details about how to
19
19
persistently and selectively revert many of these changes.
20
20
21
+ .. contents :: Table of Contents
22
+ :depth: 2
23
+ :local:
24
+ :backlinks: entry
25
+
26
+
21
27
22
28
colors, color cycles, and color maps
23
29
====================================
@@ -100,7 +106,6 @@ in your :file:`matplotlibrc` file.
100
106
Colormap
101
107
--------
102
108
103
-
104
109
The new default color map used by `matplotlib.cm.ScalarMappable ` instances is
105
110
`'viridis' ` (aka `option D <http://bids.github.io/colormap/ >`__).
106
111
@@ -111,10 +116,16 @@ The new default color map used by `matplotlib.cm.ScalarMappable` instances is
111
116
X, Y = np.ogrid[0:20:N*1j, 0:20:M*1j]
112
117
data = np.sin(np.pi * X*2 / 20) * np.cos(np.pi * Y*2 / 20)
113
118
114
- fig, ax = plt.subplots()
115
- im = ax.imshow(data, extent=[0, 200, 0, 200])
116
- fig.colorbar(im)
117
- ax.set_title('viridis')
119
+ fig, (ax2, ax1) = plt.subplots(1, 2, figsize=(7, 3))
120
+ im = ax1.imshow(data, extent=[0, 200, 0, 200])
121
+ ax1.set_title("v2.0: 'viridis'")
122
+ fig.colorbar(im, ax=ax1, shrink=.9)
123
+
124
+ im2 = ax2.imshow(data, extent=[0, 200, 0, 200], cmap='jet')
125
+ fig.colorbar(im2, ax=ax2, shrink=.9)
126
+ ax2.set_title("classic: 'jet'")
127
+
128
+ fig.tight_layout()
118
129
119
130
For an introduction to color theory and how 'viridis' was generated
120
131
watch Nathaniel Smith and Stéfan van der Walt's talk from SciPy2015.
@@ -142,28 +153,119 @@ or setting
142
153
143
154
in your :file: `matplotlibrc ` file, however this is strongly discouraged.
144
155
145
- Other colors
146
- ------------
156
+ Interactive figures
157
+ -------------------
158
+
159
+ The default interactive figure background color has changed from grey
160
+ to white, which matches the default background color used when saving.
147
161
148
- - The default interactive figure background color has changed from
149
- grey to white. Use the rcParam ``figure.facecolor `` to control
150
- this.
162
+ The previous defaults can be restored by ::
163
+
164
+ mpl.rcParams['figure.facecolor'] = '0.75'
165
+
166
+ or setting ::
167
+
168
+
169
+ figure.facecolor : '0.75'
170
+
171
+ in your :file: `matplotlibrc ` file.
151
172
152
173
Grid lines
153
174
----------
154
175
176
+ The default style of grid lines was changed from, black dashed lines to thicker
177
+ solid light grey lines.
178
+
179
+ .. plot ::
180
+
181
+ fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))
182
+
183
+ ax1.grid(color='k', linewidth=.5, linestyle=':')
184
+ ax1.set_title('classic')
185
+
186
+ ax2.grid()
187
+ ax2.set_title('v2.0')
188
+
189
+ The previous default can be restored by using::
190
+
191
+ mpl.rcParams['grid.color'] = 'k'
192
+ mpl.rcParams['grid.linestyle'] = ':'
193
+ mpl.rcParams['grid.linewidth'] = 0.5
194
+
195
+ or setting::
196
+
197
+ grid.color : k # grid color
198
+ grid.linestyle : : # dotted
199
+ grid.linewidth : 0.5 # in points
200
+
201
+ in your :file: `matplotlibrc ` file.
155
202
156
- - Grid lines are light grey solid 1pt lines. They are no longer dashed by
157
- default.
203
+ Plotting functions
204
+ ==================
158
205
159
- Plots
206
+ ``scatter ``
207
+ -----------
208
+
209
+ The following changes were made to the default behavior of `~matplotlib.axes.Axes.scatter `
210
+
211
+ - The default size of the elements in a scatter plot is now based on
212
+ the rcParam ``lines.markersize `` so it is consistent with ``plot(X,
213
+ Y, 'o') ``. The old value was 20, and the new value is 36 (6^2).
214
+ - scatter markers no longer have a black edge.
215
+ - if the color of the markers is not specified it will follow the property cycle
216
+ pulling from the 'patches' cycle on the ``Axes ``.
217
+
218
+ .. plot ::
219
+
220
+ np.random.seed(2)
221
+
222
+ fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))
223
+
224
+ x = np.arange(15)
225
+ y = np.random.rand(15)
226
+ y2 = np.random.rand(15)
227
+ ax1.scatter(x, y, s=20, edgecolors='k', c='b', label='a')
228
+ ax1.scatter(x, y2, s=20, edgecolors='k', c='b', label='b')
229
+ ax1.legend()
230
+ ax1.set_title('classic')
231
+
232
+ ax2.scatter(x, y, label='a')
233
+ ax2.scatter(x, y2, label='b')
234
+ ax2.legend()
235
+ ax2.set_title('v2.0')
236
+
237
+
238
+ The classic default behavior of `~matplotlib.axes.Axes.scatter ` can
239
+ only be recovered through ``mpl.style.use('classic') ``. The marker size
240
+ can be recovered via ::
241
+
242
+ mpl.rcParam['lines.markersize'] = np.sqrt(20)
243
+
244
+ however, this will also affect the default marker size of
245
+ `~matplotlib.axes.Axes.plot `. To recover the classic behavior on
246
+ a per-call basis pass the following kwargs::
247
+
248
+ classic_kwargs = {'s': 20, 'edgecolors': 'k', 'c': 'b'}
249
+
250
+ ``plot ``
251
+ --------
252
+
253
+ The following changes were made to the default behavior of
254
+ `~matplotlib.axes.Axes.plot `
255
+
256
+ - the default linewidth change from 1 to 1.5
257
+ - the dash patterns associated with ``'--' ``, ``':' ``, and ``'-.' `` have
258
+ changed
259
+ - the dash patterns now scale with line width.
260
+
261
+
262
+
263
+ Other
160
264
=====
265
+
161
266
- For markers, scatter plots, bar charts and pie charts, there is no
162
267
longer a black outline around filled markers by default.
163
-
164
- - The default size of the elements in a scatter plot is now based on
165
- the rcParam ``lines.markersize `` so it is consistent with ``plot(X,
166
- Y, 'o') ``. The old value was 20, and the new value is 36 (6^2).
268
+ - lines.color change, only hits raw usage of Line2D
167
269
168
270
Hatching
169
271
========
0 commit comments