FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
matplotlib.github.com/1.4.0/examples/animation/unchained.py at main · matplotlib/matplotlib.github.com · GitHub
matplotlib
/
matplotlib.github.com
Public
Notifications
You must be signed in to change notification settings
Fork
62
Star
29
Code
Issues
1
Pull requests
2
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
matplotlib.github.com
/
1.4.0
/
examples
/
animation
/
unchained.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
65 lines (52 loc) · 1.83 KB
Breadcrumbs
matplotlib.github.com
/
1.4.0
/
examples
/
animation
/
unchained.py
Copy path
File metadata and controls
65 lines (52 loc) · 1.83 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
"""
Comparative path demonstration of frequency from a fake signal of a pulsar.
(mostly known because of the cover for Joy Division's Unknown Pleasures)
Author: Nicolas P. Rougier
"""
import
numpy
as
np
import
matplotlib
.
pyplot
as
plt
import
matplotlib
.
animation
as
animation
# Create new Figure with black background
fig
=
plt
.
figure
(
figsize
=
(
8
,
8
),
facecolor
=
'black'
)
# Add a subplot with no frame
ax
=
plt
.
subplot
(
111
,
frameon
=
False
)
# Generate random data
data
=
np
.
random
.
uniform
(
0
,
1
, (
64
,
75
))
X
=
np
.
linspace
(
-
1
,
1
,
data
.
shape
[
-
1
])
G
=
1.5
*
np
.
exp
(
-
4
*
X
*
X
)
# Generate line plots
lines
=
[]
for
i
in
range
(
len
(
data
)):
# Small reduction of the X extents to get a cheap perspective effect
xscale
=
1
-
i
/
200.
# Same for linewidth (thicker strokes on bottom)
lw
=
1.5
-
i
/
100.0
line
,
=
ax
.
plot
(
xscale
*
X
,
i
+
G
*
data
[
i
],
color
=
"w"
,
lw
=
lw
)
lines
.
append
(
line
)
# Set y limit (or first line is cropped because of thickness)
ax
.
set_ylim
(
-
1
,
70
)
# No ticks
ax
.
set_xticks
([])
ax
.
set_yticks
([])
# 2 part titles to get different font weights
ax
.
text
(
0.5
,
1.0
,
"MATPLOTLIB "
,
transform
=
ax
.
transAxes
,
ha
=
"right"
,
va
=
"bottom"
,
color
=
"w"
,
family
=
"sans-serif"
,
fontweight
=
"light"
,
fontsize
=
16
)
ax
.
text
(
0.5
,
1.0
,
"UNCHAINED"
,
transform
=
ax
.
transAxes
,
ha
=
"left"
,
va
=
"bottom"
,
color
=
"w"
,
family
=
"sans-serif"
,
fontweight
=
"bold"
,
fontsize
=
16
)
# Update function
def
update
(
*
args
):
# Shift all data to the right
data
[:,
1
:]
=
data
[:, :
-
1
]
# Fill-in new values
data
[:,
0
]
=
np
.
random
.
uniform
(
0
,
1
,
len
(
data
))
# Update data
for
i
in
range
(
len
(
data
)):
lines
[
i
].
set_ydata
(
i
+
G
*
data
[
i
])
# Return modified artists
return
lines
# Construct the animation, using the update function as the animation
# director.
anim
=
animation
.
FuncAnimation
(
fig
,
update
,
interval
=
10
)
plt
.
show
()
Back
|
FazBrowse Home
|
New Git URL