Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
finesse
pykat
Commits
c8935b52
Commit
c8935b52
authored
Dec 10, 2015
by
Daniel Brown
Browse files
adding more options to plotting
parent
c44cdc2d
Changes
1
Hide whitespace changes
Inline
Side-by-side
pykat/finesse.py
View file @
c8935b52
...
...
@@ -259,7 +259,9 @@ class katRun(object):
print
(
"One xaxis used: %s"
%
kat
.
xaxis
.
getFinesseText
())
def
plot
(
self
,
detectors
=
None
,
filename
=
None
,
show
=
True
,
yaxis
=
None
,
legend
=
True
,
loc
=
0
,
title
=
None
,
styles
=
None
):
def
plot
(
self
,
detectors
=
None
,
filename
=
None
,
show
=
True
,
yaxis
=
None
,
legend
=
True
,
loc
=
0
,
title
=
None
,
styles
=
None
,
ylabel
=
None
,
y2label
=
None
,
xlabel
=
None
,
x2label
=
None
):
"""
This will generate a plot for the output data of this particular pykat run.
It will attempt to generate a plot that shows all the various traces and plots
...
...
@@ -268,14 +270,19 @@ class katRun(object):
There are some additional keyword options to customise the plot output slightly:
detectors: a list of detectors that you want to plot
filename: providing a filename here will save the plot to a file. The format is given by the extension provided.
show: True | False - whether to display the plot or not
yaxis: Set the Finesse yaxis command to base the plot on. By default the original one will be used.
legend: True | False - whether to include a legend
loc: Location value for the legend, the usual matplotlib one.
title: Provide a title for the plot if required.
styles: A dictionary which keys being the detector names and the value being a colour and linestyle of the sort 'k:'
detectors: a list of detectors that you want to plot
filename: providing a filename here will save the plot to a file.
The format is given by the extension provided.
show: True | False - whether to display the plot or not
yaxis: Set the Finesse yaxis command to base the plot on. By
default the original one will be used.
legend: True | False - whether to include a legend
loc: Location value for the legend, the usual matplotlib one.
title: Provide a title for the plot if required.
styles: A dictionary which keys being the detector names and the
value being a colour and linestyle of the sort 'k:'
ylabel, xlabel: Text for the first plot x and y labels
y2label, x2label: Text for the second plot x and y labels
"""
import
matplotlib.pyplot
as
pyplot
import
pykat.plotting
as
plt
...
...
@@ -362,31 +369,45 @@ class katRun(object):
pyplot
.
subplot
(
2
,
1
,
2
)
plot_cmd2
(
self
.
x
,
_func2
(
self
[
det
]),
color
=
l
.
get_color
(),
ls
=
l
.
get_linestyle
(),
label
=
det
)
if
dual_plot
:
if
ylabel
is
None
:
if
"abs"
in
kat
.
yaxis
:
ylabel
=
"Absolute [au]"
if
"re"
in
kat
.
yaxis
:
ylabel
=
"Real part [au]"
if
y2label
is
None
:
if
"deg"
in
kat
.
yaxis
:
y2label
=
"Phase [deg]"
if
"im"
in
kat
.
yaxis
:
y2label
=
"Imaginary part [au]"
else
:
if
ylabel
is
None
:
ylabel
=
"[au]"
font_label_size
=
pyplot
.
rcParams
[
"font.size"
]
-
1
if
dual_plot
:
ax
=
pyplot
.
subplot
(
2
,
1
,
1
)
pyplot
.
xlabel
(
self
.
xlabel
,
fontsize
=
pyplot
.
rcParams
[
"font.
size
"
]
)
pyplot
.
xlabel
(
xlabel
,
fontsize
=
font_label_
size
)
pyplot
.
xlim
(
self
.
x
.
min
(),
self
.
x
.
max
())
if
title
is
not
None
:
pyplot
.
title
(
title
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
]
-
1
)
pyplot
.
ylabel
(
ylabel
,
fontsize
=
font_label_size
)
if
"abs"
in
kat
.
yaxis
:
pyplot
.
ylabel
(
"Absolute [au]"
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
])
if
"re"
in
kat
.
yaxis
:
pyplot
.
ylabel
(
"Real part [au]"
,
fontsize
=
pyplot
.
rcParams
[
"font.
size
"
]
)
if
title
is
not
None
:
pyplot
.
title
(
title
,
fontsize
=
font_label_
size
)
pyplot
.
subplot
(
2
,
1
,
2
)
pyplot
.
xlabel
(
self
.
xlabel
,
fontsize
=
pyplot
.
rcParams
[
"font.
size
"
]
)
pyplot
.
xlabel
(
x
2
label
,
fontsize
=
font_label_
size
)
pyplot
.
xlim
(
self
.
x
.
min
(),
self
.
x
.
max
())
if
"deg"
in
kat
.
yaxis
:
pyplot
.
ylabel
(
"Phase [deg]"
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
])
if
"im"
in
kat
.
yaxis
:
pyplot
.
ylabel
(
"Imaginary part [au]"
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
])
pyplot
.
ylabel
(
y2label
,
fontsize
=
font_label_size
)
else
:
pyplot
.
xlabel
(
self
.
xlabel
,
fontsize
=
pyplot
.
rcParams
[
"font.
size
"
]
)
pyplot
.
ylabel
(
" [au]"
)
pyplot
.
xlabel
(
xlabel
,
fontsize
=
font_label_
size
)
pyplot
.
ylabel
(
ylabel
)
pyplot
.
xlim
(
self
.
x
.
min
(),
self
.
x
.
max
())
if
title
is
not
None
:
pyplot
.
title
(
title
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
]
-
1
)
if
title
is
not
None
:
pyplot
.
title
(
title
,
fontsize
=
font_label_size
)
pyplot
.
tight_layout
()
if
legend
:
fig
.
axes
[
0
].
legend
(
loc
=
loc
,
fontsize
=
pyplot
.
rcParams
[
"font.size"
]
-
1
)
fig
.
axes
[
0
].
legend
(
loc
=
loc
,
fontsize
=
font_label_size
)
if
filename
is
not
None
:
fig
.
savefig
(
filename
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment