-
Notifications
You must be signed in to change notification settings - Fork 30
/
quick_plot.py
55 lines (47 loc) · 1.72 KB
/
quick_plot.py
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
"""
Example showing use of pynml.generate_plot()
"""
from pyneuroml.plot.Plot import generate_plot
import math
import random
import sys
from matplotlib import pyplot as plt
# Some example data
ts = [t * 0.01 for t in range(20000)]
siny = [math.sin(t / 10) for t in ts]
cosey = [math.exp(t / -80) * math.cos(t / 5) for t in ts]
if "-i" in sys.argv:
from pyneuroml.plot.Plot import generate_interactive_plot
# Generate a plot for this quickly with generate_interactive_plot
ax = generate_interactive_plot(
[ts, ts], # Add 2 sets of x values
[siny, cosey], # Add 2 sets of y values
"Some traces", # Title
labels=["sin", "cos"],
xaxis="Time (ms)", # x axis legend
yaxis="Arbitrary units...", # y axis legend
linewidths=[1, 3], # Thicknesses of each trace
save_figure_to="quick.png",
) # Save figure
else:
# Generate a plot for this quickly with generate_plot
ax = generate_plot(
[ts, ts], # Add 2 sets of x values
[siny, cosey], # Add 2 sets of y values
"Some traces", # Title
labels=["sin", "cos"],
xaxis="Time (ms)", # x axis legend
yaxis="Arbitrary units...", # y axis legend
linewidths=[1, 3], # Thicknesses of each trace
show_plot_already=False, # Show or wait for plt.show()?
font_size=10, # Font
bottom_left_spines_only=True, # Box or just x & y axes
legend_position = "bottom center",
save_figure_to="quick.png",
) # Save figure
# Add another trace
ts_ = [t * 1 for t in range(200)]
randy = [random.random() for t in ts_]
ax.plot(ts_, randy, ".") # Won't be included in saved PNG!
# Show complete plot
plt.show()