Many scientific journals are (for good reason) requiring that authors upload the source data for their figures. For complex analysis pipelines this can be complicated and frustrating. FigureFirst to the rescue!
This notebook demonstrates how you can use FigureFirst to save the source data for your figures automatically. Source data here means the data, function calls, and the arguments to those functions.
With the FigureFirst formatted source data in hand, you can easily rebuild the figure, or output the data to a human readable CSV (Markdown) file.
In [1]:
import numpy as np
import figurefirst
fifi = figurefirst
from IPython.display import display,SVG,Markdown
In [2]:
layout = fifi.FigureLayout('figure_template.svg', hide_layers=['template'])
layout.make_mplfigures(hide=True)
In [3]:
for key, axis in layout.axes.items():
print (key)
# note, you can use the data filename, or the layout filename (as long as you use the defaults)
fifi.regenerate.clear_fifidata('figure_template.svg', key)
('figure_1', 'axis_a')
Automatically finding data file: figure_template_data.dillpickle
Clearing: ('figure_1', 'axis_a')
Automatically finding data file: figure_template_data.dillpickle
('figure_2', 'axis_a')
Automatically finding data file: figure_template_data.dillpickle
Clearing: ('figure_2', 'axis_a')
Automatically finding data file: figure_template_data.dillpickle
('figure_1', 'axis_b')
Automatically finding data file: figure_template_data.dillpickle
Clearing: ('figure_1', 'axis_b')
Automatically finding data file: figure_template_data.dillpickle
In [4]:
ax = layout.axes[('figure_1', 'axis_a')]
ax.breadcrumb
Out[4]:
{'data_filename': 'figure_template_data.dillpickle',
'layout_filename': 'figure_template.svg',
'layout_key': ('figure_1', 'axis_a')}
In [5]:
ax = layout.axes[('figure_1', 'axis_a')]
# make some fake data
x = np.linspace(0,10,100)
y = np.sin(x)
# call matplotlib's plot function with the figurefirst wrapper, which saves the data
title = 'Sine wave for ' + ax.breadcrumb['layout_key'][1]
argument_1 = 'Time'
argument_2 = 'Response'
ax._plot([title, argument_1, argument_2], x, y, color='blue')
In [6]:
ax = layout.axes[('figure_1', 'axis_b')]
# use figurefirst wrapper for adding a patch
# note: matplotlib function add_artist does not work in regeneration step (artists cannot be pickled)
ax._add_mpl_patch(['This is a rectangle'], 'Rectangle', (3, 0), 1.5, 1, fill=False, color='red', linewidth=1)
# Generally we recommend using '_' notation, and including a title and description of the arguments
# However, for quick formatting calls, there is a faster notation. This does not work with custom functions.
# First set record to True
ax.record = True
# Then make your function calls as usual
# matplotlib functions
ax.set_xlim(0,5)
ax.set_ylim(-1,1)
# figurefirst.mpl_functions
ax.adjust_spines(['left', 'bottom'])
ax.set_fontsize(6)
In [7]:
ax = layout.axes[('figure_2', 'axis_a')]
def foo(ax, x, list_of_noisy_ys, color='green'):
mean_y = np.mean(list_of_noisy_ys, axis=0)
ax.plot(x, mean_y, color=color, linewidth=3)
for y in list_of_noisy_ys:
ax.plot(x, y, color=color, linewidth=1, alpha=0.2)
# save a custom plotting function in the data file
list_of_noisy_ys = []
for i in range(6):
noisy_y = y + np.random.uniform(-0.5, 0.5, len(y))
list_of_noisy_ys.append(noisy_y)
ax._custom(['Plot line and dots', 'Time', 'List of y values'], foo, x, list_of_noisy_ys, color='magenta')
In [8]:
layout.append_figure_to_layer(layout.figures['figure_1'], 'figure_1', cleartarget=True)
layout.append_figure_to_layer(layout.figures['figure_2'], 'figure_2', cleartarget=True)
svg = 'figure_output.svg'
layout.write_svg(svg)
SVG(svg)
Out[8]:
In [9]:
# first clear anything that is there
fifi.regenerate.clear_fifidata(layout.data_filename, layout_key='Supplemental Data')
a = [np.random.random(10) for i in range(5)]
b = [1,2,3,4]
layout.write_fifidata(['Title of Arbitrary Data', 'Description of Data A', 'Description of Data B'],
a, b)
Clearing: Supplemental Data
figure_template_data.dillpickle
In [10]:
fifi.regenerate.replot('figure_template.svg', output_filename='new_figure_output.svg')
====================================================================================================
Package: custom | Function: <function foo at 0x7fceaba87a60>
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2909 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-7-3da5f5b628d5>, line 14 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 527 in custom_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: matplotlib | Function: plot
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2909 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-5-92c740d9a35d>, line 12 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 581 in mpl_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: figurefirst | Function: add_mpl_patch
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2903 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-6-c66d8dee6fc0>, line 5 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 560 in figurefirst_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: matplotlib | Function: set_xlim
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2903 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-6-c66d8dee6fc0>, line 15 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 616 in wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: matplotlib | Function: set_ylim
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2903 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-6-c66d8dee6fc0>, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 616 in wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: figurefirst | Function: adjust_spines
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2903 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-6-c66d8dee6fc0>, line 19 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 601 in wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
====================================================================================================
Package: figurefirst | Function: set_fontsize
[<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>, <FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>, <FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>, <FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2909 in run_ast_nodes>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>, <FrameSummary file <ipython-input-6-c66d8dee6fc0>, line 20 in <module>>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 601 in wrapper>, <FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]
Skipping figure: none
In [11]:
svg = 'new_figure_output.svg'
layout.set_layer_visibility('Layer 1',False)
layout.write_svg(svg)
SVG(svg)
Out[11]:
In [12]:
data = fifi.regenerate.load_data_file('figure_template.svg') # you can either use the layout or data filename
Automatically finding data file: figure_template_data.dillpickle
In [13]:
data[('figure_1', 'axis_a')]
Out[13]:
[{'args': (array([ 0. , 0.1010101 , 0.2020202 , 0.3030303 , 0.4040404 ,
0.50505051, 0.60606061, 0.70707071, 0.80808081, 0.90909091,
1.01010101, 1.11111111, 1.21212121, 1.31313131, 1.41414141,
1.51515152, 1.61616162, 1.71717172, 1.81818182, 1.91919192,
2.02020202, 2.12121212, 2.22222222, 2.32323232, 2.42424242,
2.52525253, 2.62626263, 2.72727273, 2.82828283, 2.92929293,
3.03030303, 3.13131313, 3.23232323, 3.33333333, 3.43434343,
3.53535354, 3.63636364, 3.73737374, 3.83838384, 3.93939394,
4.04040404, 4.14141414, 4.24242424, 4.34343434, 4.44444444,
4.54545455, 4.64646465, 4.74747475, 4.84848485, 4.94949495,
5.05050505, 5.15151515, 5.25252525, 5.35353535, 5.45454545,
5.55555556, 5.65656566, 5.75757576, 5.85858586, 5.95959596,
6.06060606, 6.16161616, 6.26262626, 6.36363636, 6.46464646,
6.56565657, 6.66666667, 6.76767677, 6.86868687, 6.96969697,
7.07070707, 7.17171717, 7.27272727, 7.37373737, 7.47474747,
7.57575758, 7.67676768, 7.77777778, 7.87878788, 7.97979798,
8.08080808, 8.18181818, 8.28282828, 8.38383838, 8.48484848,
8.58585859, 8.68686869, 8.78787879, 8.88888889, 8.98989899,
9.09090909, 9.19191919, 9.29292929, 9.39393939, 9.49494949,
9.5959596 , 9.6969697 , 9.7979798 , 9.8989899 , 10. ]),
array([ 0. , 0.10083842, 0.20064886, 0.2984138 , 0.39313661,
0.48385164, 0.56963411, 0.64960951, 0.72296256, 0.78894546,
0.84688556, 0.8961922 , 0.93636273, 0.96698762, 0.98775469,
0.99845223, 0.99897117, 0.98930624, 0.96955595, 0.93992165,
0.90070545, 0.85230712, 0.79522006, 0.73002623, 0.65739025,
0.57805259, 0.49282204, 0.40256749, 0.30820902, 0.21070855,
0.11106004, 0.01027934, -0.09060615, -0.19056796, -0.28858706,
-0.38366419, -0.47483011, -0.56115544, -0.64176014, -0.7158225 ,
-0.7825875 , -0.84137452, -0.89158426, -0.93270486, -0.96431712,
-0.98609877, -0.99782778, -0.99938456, -0.99075324, -0.97202182,
-0.94338126, -0.90512352, -0.85763861, -0.80141062, -0.73701276,
-0.66510151, -0.58640998, -0.50174037, -0.41195583, -0.31797166,
-0.22074597, -0.12126992, -0.0205576 , 0.0803643 , 0.18046693,
0.27872982, 0.37415123, 0.46575841, 0.55261747, 0.63384295,
0.7086068 , 0.77614685, 0.83577457, 0.8868821 , 0.92894843,
0.96154471, 0.98433866, 0.99709789, 0.99969234, 0.99209556,
0.97438499, 0.94674118, 0.90944594, 0.86287948, 0.8075165 ,
0.74392141, 0.6727425 , 0.59470541, 0.51060568, 0.42130064,
0.32770071, 0.23076008, 0.13146699, 0.03083368, -0.07011396,
-0.17034683, -0.26884313, -0.36459873, -0.45663749, -0.54402111])),
'args_description': ['Time', 'Response'],
'function': 'plot',
'kwargs': {'color': 'blue'},
'package': 'matplotlib',
'title': 'Sine wave for axis_a',
'traceback': [<FrameSummary file /usr/lib/python3.5/runpy.py, line 184 in _run_module_as_main>,
<FrameSummary file /usr/lib/python3.5/runpy.py, line 85 in _run_code>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel_launcher.py, line 16 in <module>>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/traitlets/config/application.py, line 658 in launch_instance>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelapp.py, line 486 in start>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/platform/asyncio.py, line 132 in start>,
<FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 345 in run_forever>,
<FrameSummary file /usr/lib/python3.5/asyncio/base_events.py, line 1312 in _run_once>,
<FrameSummary file /usr/lib/python3.5/asyncio/events.py, line 125 in _run>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/ioloop.py, line 758 in _run_callback>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 536 in <lambda>>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 450 in _handle_events>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 480 in _handle_recv>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py, line 432 in _run_callback>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/tornado/stack_context.py, line 300 in null_wrapper>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 283 in dispatcher>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 233 in dispatch_shell>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/kernelbase.py, line 399 in execute_request>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/ipkernel.py, line 208 in do_execute>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/ipykernel/zmqshell.py, line 537 in run_cell>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2662 in run_cell>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2785 in _run_cell>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2909 in run_ast_nodes>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/IPython/core/interactiveshell.py, line 2963 in run_code>,
<FrameSummary file <ipython-input-5-92c740d9a35d>, line 12 in <module>>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/svg_to_axes.py, line 581 in mpl_wrapper>,
<FrameSummary file /home/caveman/BMD2/lib/python3.5/site-packages/figurefirst-0.0.1-py3.5.egg/figurefirst/regenerate.py, line 92 in __save_fifidata__>]}]
Only data that has argument descriptions associated with it will be saved. This prevents clogging the file with tick marks, etc. The titles and descriptions are drawn from the data file, so use descriptive titles when writing the code!
Because we did not provide descriptions for the arguments to the rectangle call, it's data is not saved.
In [14]:
# This is optional, but helps to connect the data in the markdown / csv file to the actual panel names you have
# If left blank (None), the Panel names will just be the layout_keys reformatted, e.g. 'figure_1_axis_b')
panel_id_to_layout_keys = {'a': [('figure_1', 'axis_a'), ('figure_1', 'axis_b')],
'b': [('figure_2', 'axis_a')]}
# Define a figure number
figure_number = 1
# Header, optional
header = '# This file contains the data needed for generating figure 1\n### FigureFirst example by Floris van Breugel'
In [15]:
fifi.regenerate.write_to_csv('figure_template_data.dillpickle', figure_number, \
panel_id_to_layout_keys, header=header)
######################################
('figure_1', 'axis_a')
matplotlib
plot
Sine wave for axis_a
['Time', 'Response']
######################################
('figure_1', 'axis_b')
figurefirst
add_mpl_patch
This is a rectangle
[]
######################################
('figure_1', 'axis_b')
matplotlib
set_xlim
set_xlim
[]
######################################
('figure_1', 'axis_b')
matplotlib
set_ylim
set_ylim
[]
######################################
('figure_1', 'axis_b')
figurefirst
adjust_spines
adjust_spines
[]
######################################
('figure_1', 'axis_b')
figurefirst
set_fontsize
set_fontsize
[]
######################################
('figure_2', 'axis_a')
custom
<function foo at 0x7fceabb32a60>
Plot line and dots
['Time', 'List of y values']
######################################
Supplemental Data
none
none
Title of Arbitrary Data
['Description of Data A', 'Description of Data B']
In [16]:
# Take a look at the file. If you need a ".csv" file, just change the extension.
# Markdown files can be displayed nicely in Chrome:
# https://stackoverflow.com/questions/9843609/view-markdown-files-offline
with open('figure_template_data_summary.md', 'r') as fh:
content = fh.read()
display(Markdown(content))
#
This file contains the data needed for generating figure 1
FigureFirst example by Floris van Breugel
This file was automatically generated from source data using FigureFirst: http://flyranch.github.io/figurefirst/
#
Figure: 1
#
Panel: a
#
Panel element name: figure_1, axis_a
Plot feature name: Sine wave for axis_a
#
Time
0.0, 0.10101010101010101, 0.20202020202020202, 0.30303030303030304, 0.40404040404040403, 0.5050505050505051, 0.6060606060606061, 0.7070707070707071, 0.8080808080808081, 0.9090909090909091, 1.0101010101010102, 1.1111111111111112, 1.2121212121212122, 1.3131313131313131, 1.4141414141414141, 1.5151515151515151, 1.6161616161616161, 1.7171717171717171, 1.8181818181818181, 1.9191919191919191, 2.0202020202020203, 2.121212121212121, 2.2222222222222223, 2.323232323232323, 2.4242424242424243, 2.525252525252525, 2.6262626262626263, 2.727272727272727, 2.8282828282828283, 2.929292929292929, 3.0303030303030303, 3.131313131313131, 3.2323232323232323, 3.3333333333333335, 3.4343434343434343, 3.5353535353535355, 3.6363636363636362, 3.7373737373737375, 3.8383838383838382, 3.9393939393939394, 4.040404040404041, 4.141414141414141, 4.242424242424242, 4.343434343434343, 4.444444444444445, 4.545454545454545, 4.646464646464646, 4.747474747474747, 4.848484848484849, 4.94949494949495, 5.05050505050505, 5.151515151515151, 5.252525252525253, 5.353535353535354, 5.454545454545454, 5.555555555555555, 5.656565656565657, 5.757575757575758, 5.858585858585858, 5.959595959595959, 6.0606060606060606, 6.161616161616162, 6.262626262626262, 6.363636363636363, 6.4646464646464645, 6.565656565656566, 6.666666666666667, 6.767676767676767, 6.8686868686868685, 6.96969696969697, 7.070707070707071, 7.171717171717171, 7.2727272727272725, 7.373737373737374, 7.474747474747475, 7.575757575757575, 7.6767676767676765, 7.777777777777778, 7.878787878787879, 7.979797979797979, 8.080808080808081, 8.181818181818182, 8.282828282828282, 8.383838383838384, 8.484848484848484, 8.585858585858587, 8.686868686868687, 8.787878787878787, 8.88888888888889, 8.98989898989899, 9.09090909090909, 9.191919191919192, 9.292929292929292, 9.393939393939394, 9.494949494949495, 9.595959595959595, 9.696969696969697, 9.797979797979798, 9.8989898989899, 10.0
Response
0.0, 0.1008384202581046, 0.2006488565226854, 0.2984138044476411, 0.3931366121483298, 0.48385164043793466, 0.5696341069089657, 0.6496095135057065, 0.7229625614794605, 0.7889454628442574, 0.8468855636029834, 0.8961922010299563, 0.9363627251042848, 0.9669876227092996, 0.9877546923600838, 0.9984522269003895, 0.9989711717233568, 0.9893062365143401, 0.9695559491823237, 0.9399216514301312, 0.9007054462029555, 0.8523071179396752, 0.7952200570230491, 0.7300262299764464, 0.6573902466827755, 0.5780525851065732, 0.4928220425889235, 0.40256749066949654, 0.30820901749007684, 0.2107085480771929, 0.11106003812412972, 0.010279341240534697, -0.09060614703340773, -0.19056796287548539, -0.28858705872043244, -0.38366419180611233, -0.47483011082223947, -0.5611554368152017, -0.6417601376193878, -0.7158224992291902, -0.7825875026542022, -0.8413745208608701, -0.8915842573351402, -0.9327048555318336, -0.9643171169287782, -0.9860987744909296, -0.9978277779792126, -0.9993845576124357, -0.9907532430056771, -0.9720218249588334, -0.9433812584459996, -0.9051235159501367, -0.8576386109880517, -0.8014106221689697, -0.7370127583189133, -0.6651015149788224, -0.5864099818472351, -0.5017403693939113, -0.4119558308308628, -0.31797166281061867, -0.22074597455506334, -0.12126992053716677, -0.020557596287260064, 0.08036429967028173, 0.18046693235991093, 0.27872981867755725, 0.37415123057121996, 0.4657584070256517, 0.5526174707464059, 0.6338429484489058, 0.7086067976992182, 0.7761468482835805, 0.8357745720522589, 0.8868821020290788, 0.9289484292312513, 0.9615447140268235, 0.9843386578838236, 0.9970978909438748, 0.9996923408861117, 0.9920955589323228, 0.9743849894755358, 0.9467411805833543, 0.9094459434244625, 0.8628794793817836, 0.8075165041395626, 0.7439214082568444, 0.6727425035622647, 0.5947054140244975, 0.510605678474283, 0.4213006405886069, 0.32770070881349983, 0.23076007532505177, 0.13146698864295842, 0.03083367906114098, -0.07011396040064677, -0.1703468323280965, -0.26884312591038406, -0.3645987336558887, -0.45663748763377376, -0.5440211108893698
#
Panel: b
#
Panel element name: figure_2, axis_a
Plot feature name: Plot line and dots
#
Time
0.0, 0.10101010101010101, 0.20202020202020202, 0.30303030303030304, 0.40404040404040403, 0.5050505050505051, 0.6060606060606061, 0.7070707070707071, 0.8080808080808081, 0.9090909090909091, 1.0101010101010102, 1.1111111111111112, 1.2121212121212122, 1.3131313131313131, 1.4141414141414141, 1.5151515151515151, 1.6161616161616161, 1.7171717171717171, 1.8181818181818181, 1.9191919191919191, 2.0202020202020203, 2.121212121212121, 2.2222222222222223, 2.323232323232323, 2.4242424242424243, 2.525252525252525, 2.6262626262626263, 2.727272727272727, 2.8282828282828283, 2.929292929292929, 3.0303030303030303, 3.131313131313131, 3.2323232323232323, 3.3333333333333335, 3.4343434343434343, 3.5353535353535355, 3.6363636363636362, 3.7373737373737375, 3.8383838383838382, 3.9393939393939394, 4.040404040404041, 4.141414141414141, 4.242424242424242, 4.343434343434343, 4.444444444444445, 4.545454545454545, 4.646464646464646, 4.747474747474747, 4.848484848484849, 4.94949494949495, 5.05050505050505, 5.151515151515151, 5.252525252525253, 5.353535353535354, 5.454545454545454, 5.555555555555555, 5.656565656565657, 5.757575757575758, 5.858585858585858, 5.959595959595959, 6.0606060606060606, 6.161616161616162, 6.262626262626262, 6.363636363636363, 6.4646464646464645, 6.565656565656566, 6.666666666666667, 6.767676767676767, 6.8686868686868685, 6.96969696969697, 7.070707070707071, 7.171717171717171, 7.2727272727272725, 7.373737373737374, 7.474747474747475, 7.575757575757575, 7.6767676767676765, 7.777777777777778, 7.878787878787879, 7.979797979797979, 8.080808080808081, 8.181818181818182, 8.282828282828282, 8.383838383838384, 8.484848484848484, 8.585858585858587, 8.686868686868687, 8.787878787878787, 8.88888888888889, 8.98989898989899, 9.09090909090909, 9.191919191919192, 9.292929292929292, 9.393939393939394, 9.494949494949495, 9.595959595959595, 9.696969696969697, 9.797979797979798, 9.8989898989899, 10.0
List of y values
Number: 1
0.31851028235645285, -0.25443684110508913, -0.2605204849365722, 0.08993314826757948, 0.18373070342687065, 0.4534011409685809, 0.6546550969477696, 0.2540083719740346, 1.1234874637395784, 0.4260760695547454, 0.9399857110477622, 0.4957257435280833, 0.8904842822298009, 1.142875702502383, 1.3671132204411056, 0.6721395233803981, 1.3979390612169393, 0.8961518481166031, 0.6505606196705893, 1.0108262954421146, 0.7168683695902661, 0.616672016081863, 1.214965662514405, 0.3976855069789986, 0.6163737782332932, 0.9500645574505656, 0.7710860036710289, 0.11502187649521428, 0.7976567096246039, 0.36861483724361555, -0.049390065969019584, 0.26712970472982706, -0.3264954909701451, -0.46806318926751145, -0.5948453318895857, -0.6580660607868614, -0.9005560926799115, -0.9461659274188223, -0.5315813833925885, -0.29001504135598066, -1.2563670996566776, -0.6604036077639908, -0.9969281736506324, -0.8806948795098477, -1.454318866431294, -1.154708573646995, -0.5608847391302609, -0.8265621099530475, -0.5401443152011791, -1.2159576646220849, -0.6248438152939063, -0.7245658157693917, -1.1384255774397127, -1.004643546090518, -0.8396719124631039, -0.8401109862329571, -0.5380996286306514, -0.1972892585110415, -0.6672470236244092, -0.10505812082769611, -0.10194067079319608, -0.5593052302619579, -0.18436814562508907, -0.3168710094455011, -0.1877953754271066, -0.21348566742286385, 0.30537308609939046, 0.6162009785232281, 0.7975448416533918, 0.28812587217304353, 1.0000066928079505, 1.2567284934500416, 0.47030994571114215, 0.6080676136335805, 1.2797121706884895, 1.2396389345826972, 0.6783543195882349, 1.3644568809856477, 0.8499297471551962, 0.6705743197048876, 1.2838462127056114, 0.8091909999218992, 0.5800926934591623, 0.8078692855677301, 0.5819958872407288, 0.8379812600562638, 0.8177056475858436, 0.8819897413449354, 0.647408234089923, 0.18076681713555914, -0.08588924130535053, 0.45406374599755533, -0.2917893790000053, 0.27777763159519164, 0.3118128375794269, 0.14167777696378686, -0.7163658871144094, 0.046516961389517886, -0.5493981816078641, -0.2338958072904629
Number: 2
0.35519024127641485, -0.29704288391645683, 0.42939627471375963, 0.008904551562547658, 0.48740390549747886, 0.8014111997184625, 0.8099801198212989, 0.6139074064715802, 0.5596266869072896, 0.5519590228281174, 1.0951809601772116, 0.6534199149452815, 0.8985227231919831, 0.8629013598539458, 1.2829730284183416, 1.4031461729323382, 1.05338502420874, 1.143246813243083, 0.5592628777722913, 0.5782065255392664, 1.112243417892238, 0.8156209540790531, 0.6771180775817627, 0.7266336684182049, 1.0098303931499673, 0.24402538864896783, 0.7500330836842021, 0.3907447882628559, 0.012130801246145684, 0.1282857728730661, 0.3764853977843356, 0.22724833644488324, 0.08685344980094513, 0.30213041274543995, -0.4662430485700165, -0.8080707603007521, -0.33898618042802287, -0.5495300748058112, -0.17420612253623546, -0.36522956049255506, -0.34292647816023647, -1.1482182890032004, -0.9012229648935212, -0.931866457566065, -0.7798386848457496, -1.3201142533292431, -1.0712628462881226, -1.1569039225493438, -0.5859666777236777, -1.242015034370746, -1.1059066058008624, -1.0578712612272492, -0.9418744765764969, -1.1027335175913455, -1.2281771593370818, -1.151728766955767, -0.8673517139205652, -0.10888750582277418, -0.1905462297632124, -0.30655046653055146, -0.6002651055445982, -0.3167401619444733, -0.2741171270998094, -0.25790504583786794, 0.16730019680263172, 0.06524924421568107, 0.5392119113686409, 0.37205864906998115, 0.28829456748863946, 0.8005396864039809, 0.6863741178571005, 1.0370287986716766, 0.9997440865158247, 0.6823028891976848, 1.00239965299967, 0.4881239276798436, 0.7077033144894814, 0.5133833224040288, 1.356396245834714, 0.534383883534709, 1.165219838510004, 0.6309028330013721, 0.9991500878275922, 0.4848165934672146, 0.6327574073106698, 0.48954154951115036, 0.5038441564116882, 0.4189690255341739, 0.1741144563910334, 0.35030851791497625, 0.7572122708417459, -0.0596312965251537, 0.141114904080971, 0.0035559217764206084, -0.4450232766747598, 0.2377554564729018, -0.1036219362318922, -0.440658948862082, -0.19295024918404746, -0.2578235753281938
Number: 3
0.354735518334938, -0.3804954762091022, 0.04588112506018374, 0.3764501108424524, 0.854449618374191, 0.6522795549366533, 0.9702741077277582, 0.4161641400525322, 0.8218725729807721, 1.2208212967982894, 0.5293072691455185, 1.252142055950805, 0.7342100131596887, 0.631068206296704, 1.3815975143629753, 1.2327235972305464, 0.9316225500381135, 0.7683819279579314, 0.9549831610586373, 0.6886274317707209, 1.0905139890015372, 0.6589041582547032, 0.9579971293076918, 0.4910379910499185, 0.6012097985460766, 0.766537300581306, 0.4945308521209927, 0.07208929156477856, -0.18678724878158354, 0.37974076094227105, 0.296493118541221, 0.22714749782182758, -0.12225509967233571, -0.14232846415150036, -0.7729069076857383, -0.30996582915287274, -0.03717392850784651, -0.9841688356824562, -0.20568459759537505, -0.7056459772001625, -0.32721082413575187, -1.2711553178979504, -0.9029457448182538, -0.8230131410253333, -0.7769122003046284, -1.4202367735706836, -0.9935872513370281, -1.3559293316994183, -1.1923827785118002, -1.3052145831026658, -1.1471748598346678, -0.6407851852698213, -0.7040441609535747, -0.6814472643716367, -0.2372070294965578, -1.1455710316270475, -1.0460953669600705, -0.8104289579204432, -0.7907119313459368, 0.018987074308108698, 0.033781988759646164, -0.3516919835971051, 0.33107485216434585, 0.14966970988558087, 0.5640793306272868, -0.11903047363460156, 0.3633142164584819, 0.43329702646128915, 0.6917121359655618, 0.6091950760423713, 0.552949909903175, 0.4985344172719607, 0.7697466211004111, 0.6773876500103981, 0.7010125519868194, 1.004948212504879, 0.5082648846628719, 0.80279490783079, 0.5979620831762171, 1.319494879394787, 1.1245491262922076, 1.4003230713990558, 1.1435745447424015, 0.5261490344857833, 0.9350927820089078, 0.7409428976696419, 0.20814745209083274, 0.3808729929382002, 0.40654176825667054, 0.5368344634480142, 0.5874870153343512, -0.044788566152729026, 0.3695739052213795, -0.30169118598680744, -0.33615134421543647, -0.2024369309602317, -0.5160998763471776, -0.17317265181422614, -0.7801685286006287, -1.0260776755489784
Number: 4
0.0539536072373038, 0.364285737955075, 0.05932346548004566, 0.2539705421372218, 0.32215278186201085, 0.27772439933869736, 0.805946740868967, 0.15754022000871382, 1.1605755018040598, 0.8040834765225161, 0.44636633924386104, 0.8814672614069438, 0.5552546867921496, 0.8092144883030996, 1.428880418005715, 0.7610855680108997, 1.1944162053839738, 1.0125825832844753, 0.7541536453102983, 1.2752765039758873, 1.048389020578449, 0.9590067858843032, 0.5286854123064414, 0.448411351800703, 1.1252841049994857, 0.23067571284981425, 0.09537399234570865, 0.12603752322683232, 0.06874863399963399, 0.698799394854614, 0.037521666516085614, -0.27860669883567896, -0.2825366255312287, -0.43317512658642676, -0.5261447127303059, -0.047641617073461706, -0.18022890545002834, -0.6224188480252709, -0.6821842165605975, -1.038878078382531, -0.7173718562921337, -1.0526194989857123, -1.0392654844847458, -0.9665040545622374, -1.046294541524111, -0.5427511489542419, -1.4586852230057872, -1.1682383617947287, -0.782110352302199, -1.1363328523016745, -1.4268040539781115, -0.6617981180887785, -1.0559752477955089, -0.6359745715812608, -0.6608952237852663, -1.1215061579365653, -0.18219338487031644, -0.5942171701660924, -0.5238083883024147, -0.3201068060612214, 0.06868538239603089, -0.13650595940968613, -0.49566585867279234, 0.1259566147802132, -0.06230869680510301, 0.6321728550171732, -0.027818881277158203, 0.8096796912251858, 0.5762680597220483, 0.5601940803424447, 0.9899046686524422, 1.1225118026687353, 1.0007501090285031, 1.3751460815665424, 0.6892257020939783, 0.5785674243365015, 1.101717559852136, 0.9896942096302273, 1.0763731006297923, 0.6473790624039598, 1.3087302180028044, 0.7651641348235236, 0.9855124413956355, 1.129891708973524, 0.6702629868185579, 0.43371563000432545, 0.18363177457710533, 0.9252441340850701, 0.6112962405166327, 0.7344832610662686, 0.010318646509653806, 0.0043042798576125585, -0.04479867524128095, 0.06561887523743493, -0.2256785518708453, 0.07462096234501309, -0.18093337296181622, -0.5813208009684979, 0.01112287315673488, -0.9970776581590143
Number: 5
0.1019680012638351, 0.10025042402750892, 0.263946660020952, 0.25996993556206216, 0.29741233018234775, 0.4249853485894575, 0.11973879608204951, 0.1509262083436652, 0.7925510065286426, 0.8795643802437906, 1.0981404312792074, 0.588481252217684, 1.3446654060716199, 1.037489528593193, 1.2858552456125554, 1.3547418831820623, 0.8997030415816626, 0.9497872309706955, 1.0829134365465753, 0.7512411256516878, 0.8817915332304328, 0.9942097175786574, 0.43659624083683923, 0.8928032494629654, 0.9218017912461357, 0.9145469224341515, 0.2733528335266756, 0.5054338952332513, -0.15981485980907412, 0.423939659450155, 0.026135250456967116, 0.4045045975395081, 0.36396227330244524, -0.4354343342032041, -0.22434031180481828, -0.4465999705435256, -0.5371955224835032, -0.40034779845610047, -0.9357242506739482, -0.8937998501442583, -1.1239319649995339, -1.3392504305463562, -1.0456187692126533, -0.4543473548197473, -0.5874885231255661, -0.5639682351919478, -0.9132886582657901, -0.6463300904763731, -1.131873150603056, -1.4231088203882694, -1.0826489543541067, -0.5621086591595378, -0.9953155305979973, -0.9719102412081861, -0.8656725215722084, -0.4277346855302838, -0.8369424654425424, -0.45198404635140577, -0.28267289262334755, -0.14024952374326743, 0.0039937535548394965, 0.01838400747527126, 0.36884747606381707, 0.5665127697706192, 0.5542011695586392, 0.32198368881479983, 0.1502202675479551, 0.292956977810831, 0.8462563873078959, 0.3199295935614578, 0.4287246273147638, 1.125160431483253, 0.7315539181980535, 0.41028285407673437, 1.2723109638154964, 0.7656549207307415, 1.3832860053273643, 1.034681576153114, 1.1886342916577037, 0.6225507355332399, 0.7572217414314215, 0.9104189656471869, 0.61303450607125, 1.0028504754900331, 0.8256822295755883, 0.9228643941191361, 0.3279783724153338, 0.48564896676840486, 0.5466649337764149, 0.3145900269971729, 0.48605429953346463, -0.2520811185413247, -0.31649155169486315, 0.30774170161156256, 0.2722692872729592, -0.4767340665270962, -0.7650054314616586, 0.0172509333519949, -0.2587273478402322, -0.9303494782090402
Number: 6
0.3688803108962796, -0.3453653706095243, 0.24076642120090055, 0.6882623211270084, 0.08486026611646219, 0.3254558604583309, 0.08687535564726934, 0.8180725270745764, 0.9449207082580636, 0.7029120935027843, 1.2401420711779991, 0.42604076190510054, 1.3738209367751666, 0.6790213293603246, 0.8805645303923083, 1.0102799502960478, 1.0969800504621778, 0.8917206199238611, 1.1667075822256996, 1.3165164391726094, 1.1493189987247554, 1.201469303903202, 0.6897326053040124, 1.0744509730127327, 0.8227210967678579, 0.24099759666009923, 0.5586508719196072, 0.8572905181222559, 0.4659842504468044, 0.034409058728171044, 0.5613640374597167, 0.04607281690737791, -0.18903595086856162, -0.18332287315237528, 0.19694001998292654, -0.7065849439284868, -0.5686096824205217, -0.22096566433973075, -0.5623043995793038, -1.0935662507052324, -1.1726438278171756, -1.2636065665684824, -0.7882876918029382, -0.9404318323009985, -0.6539819087962416, -0.6375346267484621, -1.4945424597892052, -0.6439186007304933, -1.186339660046474, -1.0260034585411089, -0.6766309830841611, -0.9784868052330523, -0.6798735467407822, -1.178241476778192, -0.6428538278077723, -0.8532508768912244, -0.4118107577318656, -0.541818649950031, -0.7126780455562667, -0.1198434192974574, -0.143255690273912, 0.33133868465369554, 0.015773823641346604, 0.037971232848823464, -0.02960706475879729, 0.7440887893394623, 0.845492297632078, 0.5159262154908926, 0.30910676419166583, 0.14533878820294943, 0.9724172505203288, 0.6994068467691725, 0.895241685052073, 0.6075592467858186, 1.0711530587889218, 1.2706266099388008, 0.9211667071395965, 1.2582724484708099, 0.790176445295261, 1.1124395844794996, 1.402205278858636, 1.3541411857084635, 1.0311664284433344, 1.0918177555462263, 0.9648930620819638, 0.3830349601447318, 0.17944251044215376, 0.9579813960011382, 0.7566823361432997, 0.7842197589921744, -0.03815312162788881, 0.5053463001549003, 0.11710797649281784, 0.4422648370550545, 0.3472211153076743, -0.07188377113432326, -0.5279021981426505, -0.8443222436206013, -0.5553216613828607, -0.3114518839852657
#
Supplemental Data
#
Title of Arbitrary Data
#
Description of Data A
Number: 1
0.30977225079586523, 0.7109239808775746, 0.5020217228976303, 0.8304263180426128, 0.4856996589055056, 0.38813402940733555, 0.5027107790701709, 0.3838906278431695, 0.7742470006313475, 0.17443224809166813
Number: 2
0.7263663765063801, 0.8693096343897851, 0.28708646075368904, 0.0354586379586076, 0.6948953496678159, 0.933395528045399, 0.8834200840733146, 0.7509523923814644, 0.4377986969961859, 0.4025883839291815
Number: 3
0.758964135216965, 0.4048799935357248, 0.969627711789318, 0.630534144243811, 0.24507934517470686, 0.2729329616440951, 0.05879567458795354, 0.6689355049277234, 0.4068028509496866, 0.041596151225821054
Number: 4
0.3573796585595681, 0.045875160364987067, 0.24387864355337263, 0.743638309463084, 0.8186872869904467, 0.12707790111920114, 0.5753484536286515, 0.21358482502926446, 0.8738406602985939, 0.36370539672090874
Number: 5
0.7490296847051611, 0.5663768140270766, 0.44395499618639556, 0.41846982128727694, 0.042348560310602634, 0.9246889780581212, 0.46895615750282016, 0.6875417791286683, 0.4757239414399894, 0.10070407446766416
Description of Data B
1, 2, 3, 4
#
In [ ]:
Content source: FlyRanch/figurefirst
Similar notebooks: