FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
matplotlib/tutorials/intermediate/color_cycle.py at master · larsoner/matplotlib · GitHub
larsoner
matplotlib
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
matplotlib
/
tutorials
/
intermediate
/
color_cycle.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
125 lines (111 loc) · 3.96 KB
Breadcrumbs
matplotlib
/
tutorials
/
intermediate
/
color_cycle.py
Copy path
File metadata and controls
125 lines (111 loc) · 3.96 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
"""
===================
Styling with cycler
===================
Demo of custom property-cycle settings to control colors and other style
properties for multi-line plots.
.. note::
More complete documentation of the ``cycler`` API can be found
`here <http://matplotlib.org/cycler/>`_.
This example demonstrates two different APIs:
1. Setting the default rc parameter specifying the property cycle.
This affects all subsequent axes (but not axes already created).
2. Setting the property cycle for a single pair of axes.
"""
from
cycler
import
cycler
import
numpy
as
np
import
matplotlib
.
pyplot
as
plt
###############################################################################
# First we'll generate some sample data, in this case, four offset sine
# curves.
x
=
np
.
linspace
(
0
,
2
*
np
.
pi
,
50
)
offsets
=
np
.
linspace
(
0
,
2
*
np
.
pi
,
4
,
endpoint
=
False
)
yy
=
np
.
transpose
([
np
.
sin
(
x
+
phi
)
for
phi
in
offsets
])
###############################################################################
# Now ``yy`` has shape
print
(
yy
.
shape
)
###############################################################################
# So ``yy[:, i]`` will give you the ``i``-th offset sine curve. Let's set the
# default prop_cycle using :func:`matplotlib.pyplot.rc`. We'll combine a color
# cycler and a linestyle cycler by adding (``+``) two ``cycler``'s together.
# See the bottom of this tutorial for more information about combining
# different cyclers.
default_cycler
=
cycler
(
'color'
, [
'r'
,
'g'
,
'b'
,
'y'
]) \
+
cycler
(
'linestyle'
, [
'-'
,
'--'
,
':'
,
'-.'
])
plt
.
rc
(
'lines'
,
linewidth
=
4
)
plt
.
rc
(
'axes'
,
prop_cycle
=
default_cycler
)
###############################################################################
# Now we'll generate a figure with two axes, one on top of the other. On the
# first axis, we'll plot with the default cycler. On the second axis, we'll
# set the prop_cycler using :func:`matplotlib.axes.Axes.set_prop_cycle`
# which will only set the ``prop_cycle`` for this :mod:`matplotlib.axes.Axes`
# instance. We'll use a second ``cycler`` that combines a color cycler and a
# linewidth cycler.
custom_cycler
=
cycler
(
'color'
, [
'c'
,
'm'
,
'y'
,
'k'
]) \
+
cycler
(
'lw'
, [
1
,
2
,
3
,
4
])
fig
, (
ax0
,
ax1
)
=
plt
.
subplots
(
nrows
=
2
)
ax0
.
plot
(
yy
)
ax0
.
set_title
(
'Set default color cycle to rgby'
)
ax1
.
set_prop_cycle
(
custom_cycler
)
ax1
.
plot
(
yy
)
ax1
.
set_title
(
'Set axes color cycle to cmyk'
)
# Add a bit more space between the two plots.
fig
.
subplots_adjust
(
hspace
=
0.3
)
plt
.
show
()
###############################################################################
# Setting ``prop_cycler`` in the ``matplotlibrc`` file or style files
# -------------------------------------------------------------------
#
# Remember, if you want to set a custom ``prop_cycler`` in your
# ``.matplotlibrc`` file or a style file (``style.mplstyle``), you can set the
# ``axes.prop_cycle`` property:
#
# ..code-block:: python
#
# axes.prop_cycle : cycler('color', 'bgrcmyk')
#
# Cycling through multiple properties
# -----------------------------------
#
# You can add cyclers:
#
# .. code-block:: python
#
# from cycler import cycler
# cc = (cycler(color=list('rgb')) +
# cycler(linestyle=['-', '--', '-.']))
# for d in cc:
# print(d)
#
# Results in:
#
# .. code-block:: python
#
# {'color': 'r', 'linestyle': '-'}
# {'color': 'g', 'linestyle': '--'}
# {'color': 'b', 'linestyle': '-.'}
#
#
# You can multiply cyclers:
#
# .. code-block:: python
#
# from cycler import cycler
# cc = (cycler(color=list('rgb')) *
# cycler(linestyle=['-', '--', '-.']))
# for d in cc:
# print(d)
#
# Results in:
#
# .. code-block:: python
#
# {'color': 'r', 'linestyle': '-'}
# {'color': 'r', 'linestyle': '--'}
# {'color': 'r', 'linestyle': '-.'}
# {'color': 'g', 'linestyle': '-'}
# {'color': 'g', 'linestyle': '--'}
# {'color': 'g', 'linestyle': '-.'}
# {'color': 'b', 'linestyle': '-'}
# {'color': 'b', 'linestyle': '--'}
# {'color': 'b', 'linestyle': '-.'}
Back
|
FazBrowse Home
|
New Git URL