From f2c3a5b7c9b40fe5b6ba1a01e9ca6cfeb3653bec Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Sun, 16 Mar 2025 22:34:32 +0100 Subject: [PATCH 01/12] Refactor response handling to use model_dump for improved serialization --- nomad/graph/graph_reader.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/nomad/graph/graph_reader.py b/nomad/graph/graph_reader.py index 84ee4b7f16..9d1900b3a4 100644 --- a/nomad/graph/graph_reader.py +++ b/nomad/graph/graph_reader.py @@ -424,7 +424,7 @@ def _convert_ref_to_path_string(ref: str, upload_id: str = None) -> str: def _to_response_config(config: RequestConfig, exclude: list = None, **kwargs): - response_config = config.dict(exclude_unset=True, exclude_none=True) + response_config = config.model_dump(exclude_unset=True, exclude_none=True) for item in ('include', 'exclude'): if isinstance(x := response_config.pop(item, None), frozenset): @@ -989,7 +989,7 @@ class GeneralReader: @staticmethod async def _overwrite_upload(item: Upload): plain_dict = orjson.loads( - upload_to_pydantic(item, include_total_count=False).json() + upload_to_pydantic(item, include_total_count=False).model_dump_json() ) plain_dict.pop('entries', None) cached_item = CachedUpload(item) @@ -1026,7 +1026,7 @@ class GeneralReader: @staticmethod def _overwrite_entry(item: Entry): - plain_dict = orjson.loads(entry_to_pydantic(item).json()) + plain_dict = orjson.loads(entry_to_pydantic(item).model_dump_json()) plain_dict.pop('entry_metadata', None) if mainfile := plain_dict.pop('mainfile', None): plain_dict['mainfile_path'] = mainfile @@ -1334,7 +1334,7 @@ class MongoReader(GeneralReader): if config.query: assert isinstance(config.query, Metadata) - search_query = config.query.dict(exclude_none=True) # type: ignore + search_query = config.query.model_dump(exclude_none=True) # type: ignore if config.query.owner: search_params['owner'] = config.query.owner @@ -1391,7 +1391,9 @@ class MongoReader(GeneralReader): references |= Q(references__regex=item) mongo_query &= references - return config.query.dict(exclude_unset=True), self.entries.filter(mongo_query) + return config.query.model_dump(exclude_unset=True), self.entries.filter( + mongo_query + ) async def _query_uploads(self, config: RequestConfig): if not config.query: @@ -1424,7 +1426,9 @@ class MongoReader(GeneralReader): elif config.query.is_owned is False: mongo_query &= Q(main_author__ne=self.auth_user_id) - return config.query.dict(exclude_unset=True), self.uploads.filter(mongo_query) + return config.query.model_dump(exclude_unset=True), self.uploads.filter( + mongo_query + ) async def _query_datasets(self, config: RequestConfig): if not config.query: @@ -1448,7 +1452,9 @@ class MongoReader(GeneralReader): dataset_name=re.compile(rf'^{config.query.prefix}.*$', re.IGNORECASE) ) - return config.query.dict(exclude_unset=True), self.datasets.filter(mongo_query) + return config.query.model_dump(exclude_unset=True), self.datasets.filter( + mongo_query + ) @staticmethod async def _query_groups(config: RequestConfig): @@ -1457,7 +1463,7 @@ class MongoReader(GeneralReader): if isinstance(config.query, UserGroupQuery) else UserGroupQuery() ) - return query.dict(exclude_unset=True), MongoUserGroup.get_by_query(query) + return query.model_dump(exclude_unset=True), MongoUserGroup.get_by_query(query) async def _normalise( self, mongo_result, config: RequestConfig, transformer: Callable @@ -1473,7 +1479,7 @@ class MongoReader(GeneralReader): elif isinstance(config.pagination, Pagination): pagination_response = PaginationResponse( total=mongo_result.count() if mongo_result else 0, - **config.pagination.dict(), + **config.pagination.model_dump(), ) if transformer is None: @@ -1732,7 +1738,7 @@ class MongoReader(GeneralReader): filtered, child_config, transformer ) if pagination is not None: - pagination_dict = pagination.dict() + pagination_dict = pagination.model_dump() if pagination_dict.get('order_by', None) == 'mainfile': pagination_dict['order_by'] = 'mainfile_path' await _populate_result( @@ -2403,7 +2409,7 @@ class FileSystemReader(GeneralReader): if config.pagination is not None: assert isinstance(config.pagination, RawDirPagination) start: int = config.pagination.get_simple_index() - pagination: dict = config.pagination.dict(exclude_none=True) + pagination: dict = config.pagination.model_dump(exclude_none=True) else: start = 0 pagination = dict(page=1, page_size=10, order='asc') @@ -3418,7 +3424,7 @@ class MetainfoBrowser(DefinitionReader): # we use the class member to cache the response # it will be written to the result tree later # we do not direct perform writing here to avoid turning all methods async - self._pagination_response = default_pagination.dict() + self._pagination_response = default_pagination.model_dump() self._pagination_response['total'] = total return all_keys -- GitLab From 92c36e707a7a4667e6010b2387a4b6ac399635b5 Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Sun, 16 Mar 2025 17:53:48 +0100 Subject: [PATCH 02/12] Refactor graph path navigation methods and add figure resolution support --- nomad/graph/graph_reader.py | 65 ++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/nomad/graph/graph_reader.py b/nomad/graph/graph_reader.py index 9d1900b3a4..ac9fffb033 100644 --- a/nomad/graph/graph_reader.py +++ b/nomad/graph/graph_reader.py @@ -58,6 +58,7 @@ from nomad.archive import ArchiveDict, ArchiveList, to_json from nomad.archive.storage_v2 import ArchiveDict as ArchiveDictNew from nomad.archive.storage_v2 import ArchiveList as ArchiveListNew from nomad.datamodel import Dataset, EntryArchive, ServerContext, User +from nomad.datamodel.metainfo.plot import PlotlyFigure from nomad.datamodel.util import parse_path from nomad.files import RawPathInfo, UploadFiles from nomad.graph.lazy_wrapper import ( @@ -259,7 +260,7 @@ class GraphNode: raise ArchiveError(f'Circular reference detected: {reference_url}.') try: - target = await self.__goto_path(self.archive_root, path_stack) + target = await _goto_path(self.archive_root, path_stack) except (KeyError, IndexError): raise ArchiveError(f'Archive {self.entry_id} does not contain {reference}.') @@ -317,7 +318,7 @@ class GraphNode: try: # now go to the target path - other_target = await self.__goto_path(other_archive_root, path_stack) + other_target = await _goto_path(other_archive_root, path_stack) except (KeyError, IndexError): raise ArchiveError(f'Archive {other_entry_id} does not contain {path}.') @@ -352,16 +353,14 @@ class GraphNode: result_root=self.ref_result_root, ) - @staticmethod - async def __goto_path(target_root: ArchiveDict | dict, path_stack: list) -> Any: - """ - Go to the specified path in the data. - """ - for key in path_stack: - target_root = await goto_child( - target_root, int(key) if key.isdigit() else key - ) - return target_root + +async def _goto_path(target_root: GenericDict, path_stack: list) -> Any: + """ + Go to the specified path in the data. + """ + for key in path_stack: + target_root = await goto_child(target_root, int(key) if key.isdigit() else key) + return target_root async def _if_exists(target_root: dict, path_stack: list) -> bool: @@ -2716,9 +2715,9 @@ class ArchiveReader(ArchiveLikeReader): if isinstance(value, RequestConfig): # this is a leaf, resolve it according to the config - await self._resolve( - child(current_path=child_path, archive=child_archive), value - ) + child_node = child(current_path=child_path, archive=child_archive) + await self._resolve_figure(child_node, node, value) + await self._resolve(child_node, value) elif isinstance(value, dict): # this is a nested query, keep walking down the tree async def __walk(__path, __archive): @@ -2742,6 +2741,41 @@ class ArchiveReader(ArchiveLikeReader): # should never reach here raise ConfigError(f'Invalid required config: {value}.') + @staticmethod + async def _resolve_figure( + child: GraphNode, parent: GraphNode, config: RequestConfig + ): + """ + Ensure a Figure object is properly resolved. + """ + if not isinstance(child.definition, PlotlyFigure): + return + + if config.directive is not DirectiveType.resolved: + return + + async def _visit(_node): + if isinstance(_node, GenericDict): + for v in _node.values(): + await _visit(v) + elif isinstance(_node, GenericList): + for v in _node: + await _visit(v) + elif isinstance(_node, str): + _node = [x for x in _node.lstrip('#').split('/') if x] + if _node and _if_exists(parent.archive, _node): + await _populate_result( + parent.result_root, + parent.current_path + _node, + await _goto_path(parent.archive, _node), + ) + + if not isinstance(child.archive, GenericList): + return await _visit(child.archive) + + for i in _normalise_index(config.index, len(child.archive)): + await _visit(child.archive[i]) + async def _resolve( self, node: GraphNode, @@ -2858,6 +2892,7 @@ class ArchiveReader(ArchiveLikeReader): node.result_root, child_node.current_path, child_node.archive ) else: + await self._resolve_figure(child_node, node, child_config) await self._resolve(child_node, child_config) async def _check_definition( -- GitLab From 67776d6e34703ee4facb499566523dd9c3503bfc Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Tue, 18 Mar 2025 19:39:47 +0100 Subject: [PATCH 03/12] Refactor figure resolution check to use method comparison for improved accuracy --- nomad/graph/graph_reader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nomad/graph/graph_reader.py b/nomad/graph/graph_reader.py index ac9fffb033..0974b886ac 100644 --- a/nomad/graph/graph_reader.py +++ b/nomad/graph/graph_reader.py @@ -2748,7 +2748,7 @@ class ArchiveReader(ArchiveLikeReader): """ Ensure a Figure object is properly resolved. """ - if not isinstance(child.definition, PlotlyFigure): + if not child.definition.m_follows(PlotlyFigure.m_def): return if config.directive is not DirectiveType.resolved: -- GitLab From b2b9df2434f94713a71bb79e77b7d5cd14911297 Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Thu, 20 Mar 2025 14:57:50 +0100 Subject: [PATCH 04/12] Refactor graph traversal to handle data arrays in GenericList more effectively --- nomad/graph/graph_reader.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nomad/graph/graph_reader.py b/nomad/graph/graph_reader.py index 0974b886ac..05de1f9e23 100644 --- a/nomad/graph/graph_reader.py +++ b/nomad/graph/graph_reader.py @@ -2759,6 +2759,9 @@ class ArchiveReader(ArchiveLikeReader): for v in _node.values(): await _visit(v) elif isinstance(_node, GenericList): + if len(_node) > 0 and isinstance(_node[0], int | float): + # looks like a data array + return for v in _node: await _visit(v) elif isinstance(_node, str): -- GitLab From 692240a1533b8e823504330d79873eaca5aec647 Mon Sep 17 00:00:00 2001 From: mohammad <mohammad.nakhaee.1@gmail.com> Date: Mon, 24 Mar 2025 17:26:59 +0100 Subject: [PATCH 05/12] added drafts for test figure --- .../plotly/plotly_references.archive.json | 7629 +++++++++++++++++ tests/graph/test_graph_reader.py | 79 + 2 files changed, 7708 insertions(+) create mode 100644 tests/data/datamodel/metainfo/plotly/plotly_references.archive.json diff --git a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json new file mode 100644 index 0000000000..f24dcd42e4 --- /dev/null +++ b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json @@ -0,0 +1,7629 @@ +{ + "processing_logs": [ + { + "event": "Executing local process", + "proc": "Entry", + "process": "None", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.21", + "level": "DEBUG" + }, + { + "exec_time": "0.0010509490966796875", + "input_size": "78", + "event": "parser executed", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "step": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.21", + "level": "INFO" + }, + { + "normalizer": "MetainfoNormalizer", + "step": "MetainfoNormalizer", + "event": "normalizer completed successfully", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.22", + "level": "INFO" + }, + { + "exec_time": "0.32399463653564453", + "input_size": "78", + "event": "normalizer executed", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "normalizer": "MetainfoNormalizer", + "step": "MetainfoNormalizer", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.22", + "level": "INFO" + }, + { + "normalizer": "ResultsNormalizer", + "step": "ResultsNormalizer", + "event": "normalizer completed successfully", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.22", + "level": "INFO" + }, + { + "exec_time": "0.0004916191101074219", + "input_size": "78", + "event": "normalizer executed", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "normalizer": "ResultsNormalizer", + "step": "ResultsNormalizer", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.22", + "level": "INFO" + }, + { + "exec_time": "0.0041081905364990234", + "event": "entry metadata saved", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.24", + "level": "INFO" + }, + { + "exec_time": "0.01975393295288086", + "event": "entry metadata indexed", + "proc": "Entry", + "process": "process_entry_local", + "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", + "parser": "parsers/archive", + "logger": "nomad.processing", + "timestamp": "2025-03-19 18:42.24", + "level": "INFO" + } + ], + "data": { + "m_def": "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "x": [ + 0.0, + 1.0, + 2.0, + 3.0, + 4.0 + ], + "y": [ + -2.0, + -1.0, + 0.0, + 1.0, + 2.0 + ], + "z": [ + -2.0, + -1.0, + 0.0, + 1.0, + 2.0 + ], + "heatmap": [ + [ + 0.0, + 1.0, + 2.0, + 3.0, + 4.0 + ], + [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0 + ], + [ + 2.0, + 3.0, + 4.0, + 5.0, + 6.0 + ], + [ + 3.0, + 4.0, + 5.0, + 6.0, + 7.0 + ], + [ + 4.0, + 5.0, + 6.0, + 7.0, + 8.0 + ] + ], + "colors": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0 + ], + "sizes": [ + 2.0, + 5.0, + 10.0, + 20.0, + 30.0 + ], + "a": [ + 0.0, + 0.0, + 0.0 + ], + "b": [ + 0.0, + 1.0, + 2.0 + ], + "c": [ + 0.0, + 0.0, + 0.0 + ], + "u": [ + 0.0, + 0.0, + 0.0 + ], + "v": [ + 1.0, + 1.0, + 1.0 + ], + "w": [ + 0.0, + 0.0, + 0.0 + ], + "x3d": [ + [ + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -1.0, + -1.0, + -1.0, + -1.0 + ] + ], + [ + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ] + ], + [ + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ] + ], + [ + [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + ], + "y3d": [ + [ + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ], + [ + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ], + [ + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ], + [ + [ + -1.0, + -1.0, + -1.0, + -1.0 + ], + [ + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337, + -0.33333333333333337 + ], + [ + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326, + 0.33333333333333326 + ], + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + ], + "z3d": [ + [ + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ] + ], + [ + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ] + ], + [ + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ] + ], + [ + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ], + [ + -1.0, + -0.33333333333333337, + 0.33333333333333326, + 1.0 + ] + ] + ], + "surf1": [ + [ + 4.0, + 3.0, + 3.0 + ], + [ + 3.0, + 4.0, + 3.0 + ], + [ + 3.0, + 3.0, + 4.0 + ] + ], + "surf2": [ + [ + 0.0, + 3.0, + 3.0 + ], + [ + 3.0, + 0.0, + 3.0 + ], + [ + 3.0, + 3.0, + 0.0 + ] + ], + "header": [ + "A Scores", + "B Scores" + ], + "cells": [ + [ + 1.0, + 2.0, + 3.0 + ], + [ + 5.0, + 6.0, + 7.0 + ] + ], + "figures": [ + { + "label": "figure 1", + "figure": { + "data": [ + { + "marker": { + "color": "#colors", + "colorscale": [ + [ + 0.0, + "#440154" + ], + [ + 0.1111111111111111, + "#482878" + ], + [ + 0.2222222222222222, + "#3e4989" + ], + [ + 0.3333333333333333, + "#31688e" + ], + [ + 0.4444444444444444, + "#26828e" + ], + [ + 0.5555555555555556, + "#1f9e89" + ], + [ + 0.6666666666666666, + "#35b779" + ], + [ + 0.7777777777777778, + "#6ece58" + ], + [ + 0.8888888888888888, + "#b5de2b" + ], + [ + 1.0, + "#fde725" + ] + ], + "opacity": 0.6, + "size": "#sizes" + }, + "mode": "markers", + "x": "#x", + "y": "#y", + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 2", + "figure": { + "data": [ + { + "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", + "legendgroup": "", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "", + "orientation": "v", + "showlegend": false, + "x": "#x", + "xaxis": "x", + "y": "#y", + "yaxis": "y", + "type": "scatter" + }, + { + "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", + "legendgroup": "", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines", + "name": "", + "orientation": "v", + "showlegend": false, + "x": "#x", + "xaxis": "x", + "y": "#y", + "yaxis": "y", + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 3", + "figure": { + "data": [ + { + "connectgaps": true, + "showscale": false, + "z": "#heatmap", + "zsmooth": "best", + "type": "heatmap" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 4", + "figure": { + "data": [ + { + "u": "#u", + "v": "#v", + "w": "#w", + "x": "#a", + "y": "#b", + "z": "#c", + "type": "streamtube" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 5", + "figure": { + "data": [ + { + "isomax": 0.8, + "isomin": -0.1, + "opacity": 0.1, + "surface": { + "count": 21 + }, + "value": "#values3d", + "x": "#x3d", + "y": "#y3d", + "z": "#z3d", + "type": "volume" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 6", + "figure": { + "data": [ + { + "z": "#surf1", + "type": "surface" + }, + { + "opacity": 0.9, + "showscale": false, + "z": "#surf2", + "type": "surface" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 7", + "figure": { + "data": [ + { + "cells": { + "values": "#cells" + }, + "header": { + "values": "#header" + }, + "type": "table" + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + } + } + } + }, + { + "label": "figure 9", + "figure": { + "data": [ + { + "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", + "legendgroup": "", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "", + "orientation": "v", + "showlegend": false, + "x": "#x", + "xaxis": "x", + "y": "#y", + "yaxis": "y", + "type": "scatter" + }, + { + "isomax": 0.8, + "isomin": -0.1, + "opacity": 0.1, + "surface": { + "count": 21 + }, + "value": "#values3d", + "x": "#x3d", + "y": "#y3d", + "z": "#z3d", + "type": "volume", + "scene": "scene" + }, + { + "cells": { + "values": "#cells" + }, + "header": { + "values": "#header" + }, + "type": "table", + "domain": { + "x": [ + 0.0, + 1.0 + ], + "y": [ + 0.0, + 0.26666666666666666 + ] + } + } + ], + "layout": { + "template": { + "data": { + "histogram2dcontour": [ + { + "type": "histogram2dcontour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "choropleth": [ + { + "type": "choropleth", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "histogram2d": [ + { + "type": "histogram2d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmap": [ + { + "type": "heatmap", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "heatmapgl": [ + { + "type": "heatmapgl", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "contourcarpet": [ + { + "type": "contourcarpet", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "contour": [ + { + "type": "contour", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "surface": [ + { + "type": "surface", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + } + ], + "mesh3d": [ + { + "type": "mesh3d", + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "parcoords": [ + { + "type": "parcoords", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolargl": [ + { + "type": "scatterpolargl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "scattergeo": [ + { + "type": "scattergeo", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterpolar": [ + { + "type": "scatterpolar", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "scattergl": [ + { + "type": "scattergl", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatter3d": [ + { + "type": "scatter3d", + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattermapbox": [ + { + "type": "scattermapbox", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scatterternary": [ + { + "type": "scatterternary", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "scattercarpet": [ + { + "type": "scattercarpet", + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + } + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ] + }, + "layout": { + "autotypenumbers": "strict", + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "hovermode": "closest", + "hoverlabel": { + "align": "left" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "bgcolor": "#E5ECF6", + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "ternary": { + "bgcolor": "#E5ECF6", + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ] + }, + "xaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "yaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "automargin": true, + "zerolinewidth": 2 + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white", + "gridwidth": 2 + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "geo": { + "bgcolor": "white", + "landcolor": "#E5ECF6", + "subunitcolor": "white", + "showland": true, + "showlakes": true, + "lakecolor": "white" + }, + "title": { + "x": 0.05 + }, + "mapbox": { + "style": "light" + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0.0, + 1.0 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0.7333333333333333, + 1.0 + ] + }, + "scene": { + "domain": { + "x": [ + 0.0, + 1.0 + ], + "y": [ + 0.36666666666666664, + 0.6333333333333333 + ] + } + } + } + } + } + ] + }, + "metadata": { + "upload_id": "22nl3zC8QXCoZIGO6Ngdaw", + "upload_create_time": "2025-03-19T17:42:11.062000+00:00", + "entry_id": "ujku7LPDc-8aid-el-40AXLC8Fw_", + "entry_name": "a.archive.json", + "entry_type": "CustomSection", + "entry_hash": "umwDnLW6dlqL6ecIO67Lp-bAfCl4", + "entry_create_time": "2025-03-19T17:42:21.685000+00:00", + "parser_name": "parsers/archive", + "mainfile": "a.archive.json", + "text_search_contents": [ + "figure 3", + "figure 9", + "B Scores", + "figure 2", + "figure 7", + "figure 4", + "figure 1", + "figure 5", + "figure 6", + "A Scores" + ], + "files": [ + "a.archive.json" + ], + "published": false, + "with_embargo": false, + "embargo_length": 0, + "license": "CC BY 4.0", + "processed": true, + "last_processing_time": "2025-03-19T17:42:21.783391+00:00", + "processing_errors": [], + "nomad_version": "1.3.16.dev121+g8289fdc4a", + "nomad_commit": "", + "nomad_distro_commit_url": "", + "references": [], + "main_author": "68878af7-6845-46c0-b2c1-250d4d8eb470", + "coauthors": [], + "coauthor_groups": [], + "entry_coauthors": [], + "reviewers": [], + "reviewer_groups": [], + "datasets": [], + "n_quantities": 80, + "quantities": [ + "", + "data", + "data.a", + "data.b", + "data.c", + "data.cells", + "data.colors", + "data.figures", + "data.figures.figure", + "data.figures.label", + "data.header", + "data.heatmap", + "data.sizes", + "data.surf1", + "data.surf2", + "data.u", + "data.v", + "data.w", + "data.x", + "data.x3d", + "data.y", + "data.y3d", + "data.z", + "data.z3d", + "metadata", + "metadata.coauthor_groups", + "metadata.coauthors", + "metadata.datasets", + "metadata.embargo_length", + "metadata.entry_coauthors", + "metadata.entry_create_time", + "metadata.entry_hash", + "metadata.entry_id", + "metadata.entry_name", + "metadata.entry_timestamp", + "metadata.entry_timestamp.timestamp", + "metadata.entry_timestamp.token", + "metadata.entry_timestamp.token_seed", + "metadata.entry_timestamp.tsa_server", + "metadata.entry_type", + "metadata.files", + "metadata.last_processing_time", + "metadata.license", + "metadata.main_author", + "metadata.mainfile", + "metadata.nomad_commit", + "metadata.nomad_distro_commit_url", + "metadata.nomad_version", + "metadata.parser_name", + "metadata.processed", + "metadata.processing_errors", + "metadata.published", + "metadata.quantities", + "metadata.references", + "metadata.reviewer_groups", + "metadata.reviewers", + "metadata.section_defs", + "metadata.section_defs.definition_id", + "metadata.section_defs.definition_qualified_name", + "metadata.section_defs.used_directly", + "metadata.sections", + "metadata.upload_create_time", + "metadata.upload_id", + "metadata.with_embargo", + "results", + "results.properties" + ], + "sections": [ + "nomad.datamodel.datamodel.EntryArchive", + "nomad.datamodel.datamodel.EntryMetadata", + "nomad.datamodel.datamodel.RFC3161Timestamp", + "nomad.datamodel.metainfo.plot.PlotlyFigure", + "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "nomad.datamodel.results.Properties", + "nomad.datamodel.results.Results" + ], + "entry_timestamp": { + "token_seed": "umwDnLW6dlqL6ecIO67Lp-bAfCl4", + "token": "MIIERAYJKoZIhvcNAQcCoIIENTCCBDECAQMxDTALBglghkgBZQMEAgEwfQYLKoZIhvcNAQkQAQSgbgRsMGoCAQEGDCsGAQQBga0hgiwWATAvMAsGCWCGSAFlAwQCAQQg5hSCnloQFscUf3Rf76QEkKGxFR3HGRokFGOGFH86W1MCFQCzJ/sDgfO1WkywqrKXJXIe2K0aJhgPMjAyNTAzMTkxNzQyMjFaMYIDnDCCA5gCAQEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCkC1XMzD3ji9J60uTALBglghkgBZQMEAgGggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNTAzMTkxNzQyMjFaMCsGCSqGSIb3DQEJNDEeMBwwCwYJYIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3DQEJBDEiBCAbNT8iVHbdefZyPW6g37mnN7eK6peQB/+snGLBISLyNzA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCC2CI293QiY00kHjXwjMqdOzIQUDKCDWfAjVyVGz26C5DANBgkqhkiG9w0BAQsFAASCAgCPYELjB19CQTdufM/zGRuc6yznkdd+mmzrRAInZq6Oklrl18K/FjWbx9SGl7IU5W1C12f6ynlVlC+4/JXJryOB6EPKhExGfDBaz8B0NpsSvdxMUWmsyFD84OwzD+7zYaGJLyecIoGpPYRAtZWY0CCDBdRgF4qSELdcSNJSE/ZZl/xjMyw9FXOdgiWUaIeQ7EbdJPEH7R+6PUJUC2S/EEvLbzuawmu4O/WiXbOlJan0cK9iK4iwEHNAya5lKF8m5iOTzt94pHFpCLt4dRj11IT1s417kawq+ACBQ7oNBLklLvr6saxad8eBeuZk3gU/19Aku/HWguix3XR5XWlGhHdv4Ed3OH+SlixY02k21oKcjO7bHBRylXlizPesGOy/VikId7GL46mqAUgwGG2euKAJmpZ2LFczYQ8LKwcF/E4uWJbBa7YcNq4dmEGsTcpMxJe1UVWrjAtUFMBNq7P4YzJ58JW2APJQCMtR/KEmFF5RrIzb3VswJwD1WV28oSZEFyXyQnllcpWUKskbhgNKxOsQvohtC1bYbjKO3ZyCHDAY6LVY3fEWFW9Pkq8tKYK6GQJ//aparru1LYxqNg3SzKYggAkQ2B0L3LmQYlxEkxwFCyioPf1i54zGI7jShVAJ/PsraBeYcefKoUzrXnZyRtRu/VijSCDYhxqMOLlQSprJiA==", + "tsa_server": "http://zeitstempel.dfn.de", + "timestamp": "2025-03-19T17:42:21+00:00" + }, + "section_defs": [ + { + "definition_qualified_name": "nomad.datamodel.data.ArchiveSection", + "definition_id": "7047cbff9980abff17cce4b1b6b0d1c783505b7f", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.data.EntryData", + "definition_id": "538f52fd8d52b29372066f878319c6aeb03b74d2", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.datamodel.EntryArchive", + "definition_id": "f16d4e3a5dfc26fad085b5f636c0b18da32fc688", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.datamodel.EntryMetadata", + "definition_id": "64204c5d96eb1385b547f3cb9148aa6d6a7c6f2a", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.datamodel.RFC3161Timestamp", + "definition_id": "1e3e9dd7b802b04343f46305a7d0f58663d8110a", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.metainfo.plot.Figure", + "definition_id": "bf82c8c5105b42f9390e7100b6206f55ecd75128", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.metainfo.plot.PlotSection", + "definition_id": "7675be926f858e446639457fee3846873e9c4f1c", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.metainfo.plot.PlotlyFigure", + "definition_id": "c2b92af9ee552c12ea402015d72cc227c5a5005e", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition_id": "23c90a61eb30e91393791602d2fb4ba4b382bcbe", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.results.Properties", + "definition_id": "9fcb2f8dea93e927ad23e6c6c43b732406796328", + "used_directly": true + }, + { + "definition_qualified_name": "nomad.datamodel.results.Results", + "definition_id": "5ccde651cb447bc26cb8d44b37c08b78b725909e", + "used_directly": true + } + ], + "search_quantities": [ + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.0.label", + "str_value": "figure 1" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.1.label", + "str_value": "figure 2" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.2.label", + "str_value": "figure 3" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.3.label", + "str_value": "figure 4" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.4.label", + "str_value": "figure 5" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.5.label", + "str_value": "figure 6" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.6.label", + "str_value": "figure 7" + }, + { + "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "definition": "nomad.datamodel.metainfo.plot.Figure.label", + "path_archive": "data.figures.7.label", + "str_value": "figure 9" + } + ] + }, + "results": { + "properties": {} + }, + "m_ref_archives": {} +} diff --git a/tests/graph/test_graph_reader.py b/tests/graph/test_graph_reader.py index ad033aec9c..b7bb5cd8ba 100644 --- a/tests/graph/test_graph_reader.py +++ b/tests/graph/test_graph_reader.py @@ -36,6 +36,7 @@ from nomad.graph.lazy_wrapper import LazyWrapper from nomad.utils.exampledata import ExampleData from tests.normalizing.conftest import simulationworkflowschema from tests.utils import ListWithSortKey +from tests.normalizing.conftest import run_processing def rprint(msg): @@ -2725,6 +2726,51 @@ def test_general_reader(json_dict, example_data_with_reference, user1): ) +# noinspection DuplicatedCode,SpellCheckingInspection +def test_figure(json_dict, example_data_with_figure, user1): + def __ge_print(msg, required, *, to_file: bool = False, result: dict = None): + with MongoReader(required, user=user1) as reader: + if result: + assert_dict(reader.sync_read(), result) + else: + rprint(f'\n\nExample: {next(counter)} -> {msg}:') + rprint(required) + if not to_file: + rprint('output:') + rprint(reader.sync_read()) + else: + with open('archive_reader_test.json', 'w') as f: + f.write(json.dumps(reader.sync_read())) + + __ge_print( + 'general start from entry', + { + Token.ENTRIES: { + 'm_request': { + 'directive': 'resolved', + }, + } + }, + result={ + Token.ENTRIES: { + 'id_plotly': { + 'process_running': False, + 'current_process': None, + 'process_status': 'SUCCESS', + 'last_status_message': None, + 'errors': [], + 'warnings': [], + 'complete_time': None, + 'entry_id': 'id_plotly', + 'mainfile_key': None, + 'upload_id': 'id_published_with_ref', + 'parser_name': 'parsers/vasp', + }, + } + }, + ) + + # noinspection DuplicatedCode,SpellCheckingInspection def test_metainfo_reader(mongo_infra, user1): def __ge_print(msg, required, *, to_file: bool = False, result: dict = None): @@ -3983,6 +4029,39 @@ def example_data_with_reference( data.delete() +@pytest.fixture(scope='function') +def example_data_with_figure( + elastic_function, raw_files_module, mongo_function, user1, json_dict +): + """ + Provides a couple of entries with references. + + Only used in test_required_reader_with_remote_reference. + """ + data = ExampleData(main_author=user1) + + data.create_upload( + upload_id='id_published_with_ref', upload_name='name_published', published=False + ) + + directory = 'tests/data/datamodel/metainfo/plotly' + mainfile = 'plotly_references.archive.json' + plotly_archive = run_processing(directory, mainfile) + data.create_entry( + upload_id='id_published_with_ref', + entry_id=f'id_plotly', + entry_archive=EntryArchive.m_from_dict(plotly_archive), + ) + + for archive in data.archives.values(): + archive.metadata.apply_archive_metadata(archive) + + data.save(with_files=True, with_es=True, with_mongo=True) + + yield data + data.delete() + + @pytest.fixture(scope='function') def json_dict(): return { -- GitLab From 6ed21940fc213f8c50db41e6c70772a30c50d255 Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Mon, 24 Mar 2025 17:37:42 +0100 Subject: [PATCH 06/12] Refactor example data fixture for figure tests and add test for figure resolution --- tests/graph/test_graph_reader.py | 138 +++++++++++++------------------ 1 file changed, 58 insertions(+), 80 deletions(-) diff --git a/tests/graph/test_graph_reader.py b/tests/graph/test_graph_reader.py index b7bb5cd8ba..21f1b91de5 100644 --- a/tests/graph/test_graph_reader.py +++ b/tests/graph/test_graph_reader.py @@ -34,9 +34,8 @@ from nomad.graph.graph_reader import ( ) from nomad.graph.lazy_wrapper import LazyWrapper from nomad.utils.exampledata import ExampleData -from tests.normalizing.conftest import simulationworkflowschema +from tests.normalizing.conftest import run_processing, simulationworkflowschema from tests.utils import ListWithSortKey -from tests.normalizing.conftest import run_processing def rprint(msg): @@ -2726,51 +2725,6 @@ def test_general_reader(json_dict, example_data_with_reference, user1): ) -# noinspection DuplicatedCode,SpellCheckingInspection -def test_figure(json_dict, example_data_with_figure, user1): - def __ge_print(msg, required, *, to_file: bool = False, result: dict = None): - with MongoReader(required, user=user1) as reader: - if result: - assert_dict(reader.sync_read(), result) - else: - rprint(f'\n\nExample: {next(counter)} -> {msg}:') - rprint(required) - if not to_file: - rprint('output:') - rprint(reader.sync_read()) - else: - with open('archive_reader_test.json', 'w') as f: - f.write(json.dumps(reader.sync_read())) - - __ge_print( - 'general start from entry', - { - Token.ENTRIES: { - 'm_request': { - 'directive': 'resolved', - }, - } - }, - result={ - Token.ENTRIES: { - 'id_plotly': { - 'process_running': False, - 'current_process': None, - 'process_status': 'SUCCESS', - 'last_status_message': None, - 'errors': [], - 'warnings': [], - 'complete_time': None, - 'entry_id': 'id_plotly', - 'mainfile_key': None, - 'upload_id': 'id_published_with_ref', - 'parser_name': 'parsers/vasp', - }, - } - }, - ) - - # noinspection DuplicatedCode,SpellCheckingInspection def test_metainfo_reader(mongo_infra, user1): def __ge_print(msg, required, *, to_file: bool = False, result: dict = None): @@ -4029,39 +3983,6 @@ def example_data_with_reference( data.delete() -@pytest.fixture(scope='function') -def example_data_with_figure( - elastic_function, raw_files_module, mongo_function, user1, json_dict -): - """ - Provides a couple of entries with references. - - Only used in test_required_reader_with_remote_reference. - """ - data = ExampleData(main_author=user1) - - data.create_upload( - upload_id='id_published_with_ref', upload_name='name_published', published=False - ) - - directory = 'tests/data/datamodel/metainfo/plotly' - mainfile = 'plotly_references.archive.json' - plotly_archive = run_processing(directory, mainfile) - data.create_entry( - upload_id='id_published_with_ref', - entry_id=f'id_plotly', - entry_archive=EntryArchive.m_from_dict(plotly_archive), - ) - - for archive in data.archives.values(): - archive.metadata.apply_archive_metadata(archive) - - data.save(with_files=True, with_es=True, with_mongo=True) - - yield data - data.delete() - - @pytest.fixture(scope='function') def json_dict(): return { @@ -4113,3 +4034,60 @@ def json_dict(): 'results': {'calculation_result_ref': '/run/0/calculation/1'}, }, } + + +@pytest.fixture(scope='function') +def example_data_with_figure(elastic_function, raw_files_module, mongo_function, user1): + data = ExampleData(main_author=user1) + + data.create_upload( + upload_id='id_published_with_ref', upload_name='name_published', published=False + ) + + directory = 'tests/data/datamodel/metainfo/plotly' + mainfile = 'plotly_references.archive.json' + plotly_archive = run_processing(directory, mainfile) + data.create_entry( + upload_id='id_published_with_ref', + entry_id='id_plotly', + entry_archive=EntryArchive.m_from_dict(plotly_archive), + ) + + for archive in data.archives.values(): + archive.metadata.apply_archive_metadata(archive) + + data.save(with_files=True, with_es=True, with_mongo=True) + + yield data + data.delete() + + +def test_figure_resolution(user1, example_data_with_figure): + def __entry_print(msg, required, *, to_file: bool = False, result: dict = None): + with EntryReader(required, user=user1) as reader: + response = reader.sync_read('id_plotly') + if result: + assert_dict(response, result) + else: + rprint(f'\n\nExample: {next(counter)} -> {msg}:') + rprint(required) + if not to_file: + rprint('output:') + rprint(response) + else: + with open('entry_reader_test.json', 'w') as f: + f.write(json.dumps(response)) + + __entry_print( + 'read plotly figure', + { + 'm_request': { + 'directive': 'plain', + }, + Token.ARCHIVE: { + 'm_request': { + 'directive': 'plain', + } + }, + }, + ) -- GitLab From 8152cf8c5e5cff84bfd5c39f1b16989ff79d8714 Mon Sep 17 00:00:00 2001 From: mohammad <mohammad.nakhaee.1@gmail.com> Date: Mon, 24 Mar 2025 17:53:24 +0100 Subject: [PATCH 07/12] fixed the issue with the test archive --- .../plotly/plotly_references.archive.json | 321 +----------------- 1 file changed, 3 insertions(+), 318 deletions(-) diff --git a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json index f24dcd42e4..b856eb3484 100644 --- a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json +++ b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json @@ -202,324 +202,9 @@ 0.0, 0.0 ], - "x3d": [ - [ - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -1.0, - -1.0, - -1.0, - -1.0 - ] - ], - [ - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ] - ], - [ - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ] - ], - [ - [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - ] - ], - "y3d": [ - [ - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - ], - [ - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - ], - [ - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - ], - [ - [ - -1.0, - -1.0, - -1.0, - -1.0 - ], - [ - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337, - -0.33333333333333337 - ], - [ - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326, - 0.33333333333333326 - ], - [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - ] - ], - "z3d": [ - [ - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ] - ], - [ - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ] - ], - [ - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ] - ], - [ - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ], - [ - -1.0, - -0.33333333333333337, - 0.33333333333333326, - 1.0 - ] - ] - ], + "x3d": [1.0, 1.0, 1.0, 1.0], + "y3d": [2.0, 2.0, 2.0, 2.0], + "z3d": [3.0, 3.0, 3.0, 3.0], "surf1": [ [ 4.0, -- GitLab From 4f13c76bb1c6fd63cd53f073fa49cd7f7d4a1bf6 Mon Sep 17 00:00:00 2001 From: mohammad <mohammad.nakhaee.1@gmail.com> Date: Mon, 24 Mar 2025 19:43:34 +0100 Subject: [PATCH 08/12] removed CustomSection --- .../plotly/plotly_references.archive.json | 61 +------------------ 1 file changed, 3 insertions(+), 58 deletions(-) diff --git a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json index b856eb3484..1a3deb60a8 100644 --- a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json +++ b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json @@ -99,7 +99,7 @@ } ], "data": { - "m_def": "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", + "m_def": "nomad.datamodel.data.EntryData", "x": [ 0.0, 1.0, @@ -7077,7 +7077,7 @@ "upload_create_time": "2025-03-19T17:42:11.062000+00:00", "entry_id": "ujku7LPDc-8aid-el-40AXLC8Fw_", "entry_name": "a.archive.json", - "entry_type": "CustomSection", + "entry_type": "EntryData", "entry_hash": "umwDnLW6dlqL6ecIO67Lp-bAfCl4", "entry_create_time": "2025-03-19T17:42:21.685000+00:00", "parser_name": "parsers/archive", @@ -7189,7 +7189,6 @@ "nomad.datamodel.datamodel.EntryMetadata", "nomad.datamodel.datamodel.RFC3161Timestamp", "nomad.datamodel.metainfo.plot.PlotlyFigure", - "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", "nomad.datamodel.results.Properties", "nomad.datamodel.results.Results" ], @@ -7240,11 +7239,6 @@ "definition_id": "c2b92af9ee552c12ea402015d72cc227c5a5005e", "used_directly": true }, - { - "definition_qualified_name": "nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition_id": "23c90a61eb30e91393791602d2fb4ba4b382bcbe", - "used_directly": true - }, { "definition_qualified_name": "nomad.datamodel.results.Properties", "definition_id": "9fcb2f8dea93e927ad23e6c6c43b732406796328", @@ -7256,56 +7250,7 @@ "used_directly": true } ], - "search_quantities": [ - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.0.label", - "str_value": "figure 1" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.1.label", - "str_value": "figure 2" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.2.label", - "str_value": "figure 3" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.3.label", - "str_value": "figure 4" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.4.label", - "str_value": "figure 5" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.5.label", - "str_value": "figure 6" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.6.label", - "str_value": "figure 7" - }, - { - "id": "data.figures.label#nomad.datamodel.metainfo.testPlotlyGraphAPI.CustomSection", - "definition": "nomad.datamodel.metainfo.plot.Figure.label", - "path_archive": "data.figures.7.label", - "str_value": "figure 9" - } - ] + "search_quantities": [] }, "results": { "properties": {} -- GitLab From 936d63e71e96f7f09bb5cfb952af0ad2bfce2db0 Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Mon, 24 Mar 2025 20:12:14 +0100 Subject: [PATCH 09/12] Refactor entry archive material ID assignment and update plotly archive processing --- nomad/utils/exampledata.py | 6 +++++- tests/graph/test_graph_reader.py | 16 ++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/nomad/utils/exampledata.py b/nomad/utils/exampledata.py index 4603a39b65..8778de74a5 100644 --- a/nomad/utils/exampledata.py +++ b/nomad/utils/exampledata.py @@ -328,7 +328,11 @@ class ExampleData: if archive is not None: entry_archive.m_update(**archive) - if entry_archive.results.material.material_id is None: + if ( + entry_archive.results + and entry_archive.results.material + and entry_archive.results.material.material_id is None + ): entry_archive.results.material.material_id = material_id self.archives[entry_id] = entry_archive diff --git a/tests/graph/test_graph_reader.py b/tests/graph/test_graph_reader.py index 21f1b91de5..e6c23100f8 100644 --- a/tests/graph/test_graph_reader.py +++ b/tests/graph/test_graph_reader.py @@ -4045,12 +4045,11 @@ def example_data_with_figure(elastic_function, raw_files_module, mongo_function, ) directory = 'tests/data/datamodel/metainfo/plotly' - mainfile = 'plotly_references.archive.json' - plotly_archive = run_processing(directory, mainfile) + mainfile = 'plotly.schema.archive.yaml' data.create_entry( upload_id='id_published_with_ref', entry_id='id_plotly', - entry_archive=EntryArchive.m_from_dict(plotly_archive), + entry_archive=run_processing(directory, mainfile), ) for archive in data.archives.values(): @@ -4081,12 +4080,13 @@ def test_figure_resolution(user1, example_data_with_figure): __entry_print( 'read plotly figure', { - 'm_request': { - 'directive': 'plain', - }, Token.ARCHIVE: { - 'm_request': { - 'directive': 'plain', + 'data': { + 'figures[0]': { + 'm_request': { + 'directive': 'resolved', + }, + } } }, }, -- GitLab From 9e41e73195b8554d1909fc6c06c78bff903795db Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Mon, 24 Mar 2025 20:52:57 +0100 Subject: [PATCH 10/12] Refactor m_follows method to support self-as-definition check and update figure resolution handling --- nomad/graph/graph_reader.py | 8 ++++++-- nomad/metainfo/metainfo.py | 14 +++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/nomad/graph/graph_reader.py b/nomad/graph/graph_reader.py index 05de1f9e23..cdf50b86c4 100644 --- a/nomad/graph/graph_reader.py +++ b/nomad/graph/graph_reader.py @@ -2748,7 +2748,11 @@ class ArchiveReader(ArchiveLikeReader): """ Ensure a Figure object is properly resolved. """ - if not child.definition.m_follows(PlotlyFigure.m_def): + if not isinstance( + child.definition, SubSection + ) or not child.definition.sub_section.m_follows( + PlotlyFigure.m_def, self_as_definition=True + ): return if config.directive is not DirectiveType.resolved: @@ -2766,7 +2770,7 @@ class ArchiveReader(ArchiveLikeReader): await _visit(v) elif isinstance(_node, str): _node = [x for x in _node.lstrip('#').split('/') if x] - if _node and _if_exists(parent.archive, _node): + if _node and await _if_exists(parent.archive, _node): await _populate_result( parent.result_root, parent.current_path + _node, diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py index 074d3ce6ca..93b68c70a4 100644 --- a/nomad/metainfo/metainfo.py +++ b/nomad/metainfo/metainfo.py @@ -1779,12 +1779,24 @@ class MSection(metaclass=MObjectMeta): # todo: mypy bug https://github.com/python/mypy/issues/14458 return cast(cls, self) # type: ignore - def m_follows(self, definition: Section) -> bool: + def m_follows( + self, definition: Section, *, self_as_definition: bool = False + ) -> bool: """ Determines if this section's definition is or is derived from the given definition. + + Arguments: + definition: The definition to check against. + self_as_definition: If True, the current section is considered as a definition + instead of a data section. This is useful when directly checking the definitions + without the need to create a dummy data section. """ if not isinstance(definition, Section): raise TypeError(f'{definition} is not an instance of class Section.') + + if self_as_definition: + return definition in itertools.chain(self.all_base_sections, [self]) + return definition in itertools.chain(self.m_def.all_base_sections, [self.m_def]) def m_to_dict( -- GitLab From f5e5d44c1e709a29f6c710490f6802a5b67f71e5 Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Thu, 27 Mar 2025 00:01:55 +0100 Subject: [PATCH 11/12] Refactor test_figure_resolution to use parameterized tests and simplify example data fixture --- tests/graph/test_graph_reader.py | 105 +++++++++++++++++++++++-------- 1 file changed, 79 insertions(+), 26 deletions(-) diff --git a/tests/graph/test_graph_reader.py b/tests/graph/test_graph_reader.py index e6c23100f8..946d196ba3 100644 --- a/tests/graph/test_graph_reader.py +++ b/tests/graph/test_graph_reader.py @@ -4037,7 +4037,7 @@ def json_dict(): @pytest.fixture(scope='function') -def example_data_with_figure(elastic_function, raw_files_module, mongo_function, user1): +def example_data_with_figure(proc_infra, user1): data = ExampleData(main_author=user1) data.create_upload( @@ -4058,36 +4058,89 @@ def example_data_with_figure(elastic_function, raw_files_module, mongo_function, data.save(with_files=True, with_es=True, with_mongo=True) yield data + data.delete() -def test_figure_resolution(user1, example_data_with_figure): - def __entry_print(msg, required, *, to_file: bool = False, result: dict = None): +@pytest.mark.parametrize( + 'query,result', + [ + # plain get default quantities + # the references are not resolved + pytest.param( + { + Token.ARCHIVE: { + 'data': { + 'figures[0]': { + 'm_request': { + 'directive': 'plain', + }, + } + } + }, + }, + { + 'archive': { + 'data': { + 'figures': [ + { + 'label': 'graph object 1', + 'figure': { + 'data': {'x': '#xArr', 'y': '#xArr'}, + 'layout': { + 'title': {'text': 'Plot in section level'}, + 'xaxis': {'title': {'text': 'x data'}}, + 'yaxis': {'title': {'text': 'y data'}}, + }, + }, + } + ] + } + } + }, + id='plain-read', + ), + pytest.param( + { + Token.ARCHIVE: { + 'data': { + 'figures[0]': { + 'm_request': { + 'directive': 'resolved', + }, + } + } + }, + }, + { + 'archive': { + 'data': { + 'xArr': [1.1, 2.0, 3.0, 4.0, 5.0], + 'figures': [ + { + 'label': 'graph object 1', + 'figure': { + 'data': {'x': '#xArr', 'y': '#xArr'}, + 'layout': { + 'title': {'text': 'Plot in section level'}, + 'xaxis': {'title': {'text': 'x data'}}, + 'yaxis': {'title': {'text': 'y data'}}, + }, + }, + } + ], + } + } + }, + id='read-resolved', + ), + ], +) +def test_figure_resolution(user1, example_data_with_figure, query, result): + def __entry_print(required, *, result=None): with EntryReader(required, user=user1) as reader: response = reader.sync_read('id_plotly') if result: assert_dict(response, result) - else: - rprint(f'\n\nExample: {next(counter)} -> {msg}:') - rprint(required) - if not to_file: - rprint('output:') - rprint(response) - else: - with open('entry_reader_test.json', 'w') as f: - f.write(json.dumps(response)) - __entry_print( - 'read plotly figure', - { - Token.ARCHIVE: { - 'data': { - 'figures[0]': { - 'm_request': { - 'directive': 'resolved', - }, - } - } - }, - }, - ) + __entry_print(query, result=result) -- GitLab From 3491e143cec591b1e7aa85c66ac256e0de7cd03a Mon Sep 17 00:00:00 2001 From: Theodore Chang <tlcfem@gmail.com> Date: Thu, 27 Mar 2025 00:04:52 +0100 Subject: [PATCH 12/12] Refactor m_follows method to improve self-as-definition handling and simplify section checks --- nomad/metainfo/metainfo.py | 5 +- .../plotly/plotly_references.archive.json | 7259 ----------------- 2 files changed, 2 insertions(+), 7262 deletions(-) delete mode 100644 tests/data/datamodel/metainfo/plotly/plotly_references.archive.json diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py index 93b68c70a4..fdd8201768 100644 --- a/nomad/metainfo/metainfo.py +++ b/nomad/metainfo/metainfo.py @@ -1794,10 +1794,9 @@ class MSection(metaclass=MObjectMeta): if not isinstance(definition, Section): raise TypeError(f'{definition} is not an instance of class Section.') - if self_as_definition: - return definition in itertools.chain(self.all_base_sections, [self]) + target = self if self_as_definition else self.m_def - return definition in itertools.chain(self.m_def.all_base_sections, [self.m_def]) + return definition in itertools.chain(target.all_base_sections, [target]) def m_to_dict( self, diff --git a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json b/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json deleted file mode 100644 index 1a3deb60a8..0000000000 --- a/tests/data/datamodel/metainfo/plotly/plotly_references.archive.json +++ /dev/null @@ -1,7259 +0,0 @@ -{ - "processing_logs": [ - { - "event": "Executing local process", - "proc": "Entry", - "process": "None", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.21", - "level": "DEBUG" - }, - { - "exec_time": "0.0010509490966796875", - "input_size": "78", - "event": "parser executed", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "step": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.21", - "level": "INFO" - }, - { - "normalizer": "MetainfoNormalizer", - "step": "MetainfoNormalizer", - "event": "normalizer completed successfully", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.22", - "level": "INFO" - }, - { - "exec_time": "0.32399463653564453", - "input_size": "78", - "event": "normalizer executed", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "normalizer": "MetainfoNormalizer", - "step": "MetainfoNormalizer", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.22", - "level": "INFO" - }, - { - "normalizer": "ResultsNormalizer", - "step": "ResultsNormalizer", - "event": "normalizer completed successfully", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.22", - "level": "INFO" - }, - { - "exec_time": "0.0004916191101074219", - "input_size": "78", - "event": "normalizer executed", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "normalizer": "ResultsNormalizer", - "step": "ResultsNormalizer", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.22", - "level": "INFO" - }, - { - "exec_time": "0.0041081905364990234", - "event": "entry metadata saved", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.24", - "level": "INFO" - }, - { - "exec_time": "0.01975393295288086", - "event": "entry metadata indexed", - "proc": "Entry", - "process": "process_entry_local", - "process_worker_id": "nL2iuGaYRVye8CSvPN9RMg", - "parser": "parsers/archive", - "logger": "nomad.processing", - "timestamp": "2025-03-19 18:42.24", - "level": "INFO" - } - ], - "data": { - "m_def": "nomad.datamodel.data.EntryData", - "x": [ - 0.0, - 1.0, - 2.0, - 3.0, - 4.0 - ], - "y": [ - -2.0, - -1.0, - 0.0, - 1.0, - 2.0 - ], - "z": [ - -2.0, - -1.0, - 0.0, - 1.0, - 2.0 - ], - "heatmap": [ - [ - 0.0, - 1.0, - 2.0, - 3.0, - 4.0 - ], - [ - 1.0, - 2.0, - 3.0, - 4.0, - 5.0 - ], - [ - 2.0, - 3.0, - 4.0, - 5.0, - 6.0 - ], - [ - 3.0, - 4.0, - 5.0, - 6.0, - 7.0 - ], - [ - 4.0, - 5.0, - 6.0, - 7.0, - 8.0 - ] - ], - "colors": [ - 1.0, - 2.0, - 3.0, - 4.0, - 5.0 - ], - "sizes": [ - 2.0, - 5.0, - 10.0, - 20.0, - 30.0 - ], - "a": [ - 0.0, - 0.0, - 0.0 - ], - "b": [ - 0.0, - 1.0, - 2.0 - ], - "c": [ - 0.0, - 0.0, - 0.0 - ], - "u": [ - 0.0, - 0.0, - 0.0 - ], - "v": [ - 1.0, - 1.0, - 1.0 - ], - "w": [ - 0.0, - 0.0, - 0.0 - ], - "x3d": [1.0, 1.0, 1.0, 1.0], - "y3d": [2.0, 2.0, 2.0, 2.0], - "z3d": [3.0, 3.0, 3.0, 3.0], - "surf1": [ - [ - 4.0, - 3.0, - 3.0 - ], - [ - 3.0, - 4.0, - 3.0 - ], - [ - 3.0, - 3.0, - 4.0 - ] - ], - "surf2": [ - [ - 0.0, - 3.0, - 3.0 - ], - [ - 3.0, - 0.0, - 3.0 - ], - [ - 3.0, - 3.0, - 0.0 - ] - ], - "header": [ - "A Scores", - "B Scores" - ], - "cells": [ - [ - 1.0, - 2.0, - 3.0 - ], - [ - 5.0, - 6.0, - 7.0 - ] - ], - "figures": [ - { - "label": "figure 1", - "figure": { - "data": [ - { - "marker": { - "color": "#colors", - "colorscale": [ - [ - 0.0, - "#440154" - ], - [ - 0.1111111111111111, - "#482878" - ], - [ - 0.2222222222222222, - "#3e4989" - ], - [ - 0.3333333333333333, - "#31688e" - ], - [ - 0.4444444444444444, - "#26828e" - ], - [ - 0.5555555555555556, - "#1f9e89" - ], - [ - 0.6666666666666666, - "#35b779" - ], - [ - 0.7777777777777778, - "#6ece58" - ], - [ - 0.8888888888888888, - "#b5de2b" - ], - [ - 1.0, - "#fde725" - ] - ], - "opacity": 0.6, - "size": "#sizes" - }, - "mode": "markers", - "x": "#x", - "y": "#y", - "type": "scatter" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 2", - "figure": { - "data": [ - { - "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", - "legendgroup": "", - "marker": { - "color": "#636efa", - "symbol": "circle" - }, - "mode": "markers", - "name": "", - "orientation": "v", - "showlegend": false, - "x": "#x", - "xaxis": "x", - "y": "#y", - "yaxis": "y", - "type": "scatter" - }, - { - "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", - "legendgroup": "", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "", - "orientation": "v", - "showlegend": false, - "x": "#x", - "xaxis": "x", - "y": "#y", - "yaxis": "y", - "type": "scatter" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 3", - "figure": { - "data": [ - { - "connectgaps": true, - "showscale": false, - "z": "#heatmap", - "zsmooth": "best", - "type": "heatmap" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 4", - "figure": { - "data": [ - { - "u": "#u", - "v": "#v", - "w": "#w", - "x": "#a", - "y": "#b", - "z": "#c", - "type": "streamtube" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 5", - "figure": { - "data": [ - { - "isomax": 0.8, - "isomin": -0.1, - "opacity": 0.1, - "surface": { - "count": 21 - }, - "value": "#values3d", - "x": "#x3d", - "y": "#y3d", - "z": "#z3d", - "type": "volume" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 6", - "figure": { - "data": [ - { - "z": "#surf1", - "type": "surface" - }, - { - "opacity": 0.9, - "showscale": false, - "z": "#surf2", - "type": "surface" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 7", - "figure": { - "data": [ - { - "cells": { - "values": "#cells" - }, - "header": { - "values": "#header" - }, - "type": "table" - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - } - } - } - }, - { - "label": "figure 9", - "figure": { - "data": [ - { - "hovertemplate": "x=%{x}<br>y=%{y}<extra></extra>", - "legendgroup": "", - "marker": { - "color": "#636efa", - "symbol": "circle" - }, - "mode": "markers", - "name": "", - "orientation": "v", - "showlegend": false, - "x": "#x", - "xaxis": "x", - "y": "#y", - "yaxis": "y", - "type": "scatter" - }, - { - "isomax": 0.8, - "isomin": -0.1, - "opacity": 0.1, - "surface": { - "count": 21 - }, - "value": "#values3d", - "x": "#x3d", - "y": "#y3d", - "z": "#z3d", - "type": "volume", - "scene": "scene" - }, - { - "cells": { - "values": "#cells" - }, - "header": { - "values": "#header" - }, - "type": "table", - "domain": { - "x": [ - 0.0, - 1.0 - ], - "y": [ - 0.0, - 0.26666666666666666 - ] - } - } - ], - "layout": { - "template": { - "data": { - "histogram2dcontour": [ - { - "type": "histogram2dcontour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "choropleth": [ - { - "type": "choropleth", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "histogram2d": [ - { - "type": "histogram2d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmap": [ - { - "type": "heatmap", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "heatmapgl": [ - { - "type": "heatmapgl", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "contourcarpet": [ - { - "type": "contourcarpet", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "contour": [ - { - "type": "contour", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "surface": [ - { - "type": "surface", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ] - } - ], - "mesh3d": [ - { - "type": "mesh3d", - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "parcoords": [ - { - "type": "parcoords", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolargl": [ - { - "type": "scatterpolargl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "scattergeo": [ - { - "type": "scattergeo", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterpolar": [ - { - "type": "scatterpolar", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "scattergl": [ - { - "type": "scattergl", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatter3d": [ - { - "type": "scatter3d", - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattermapbox": [ - { - "type": "scattermapbox", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scatterternary": [ - { - "type": "scatterternary", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "scattercarpet": [ - { - "type": "scattercarpet", - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - } - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ] - }, - "layout": { - "autotypenumbers": "strict", - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "hovermode": "closest", - "hoverlabel": { - "align": "left" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "bgcolor": "#E5ECF6", - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "ternary": { - "bgcolor": "#E5ECF6", - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "sequential": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ] - }, - "xaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "yaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "automargin": true, - "zerolinewidth": 2 - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white", - "gridwidth": 2 - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "geo": { - "bgcolor": "white", - "landcolor": "#E5ECF6", - "subunitcolor": "white", - "showland": true, - "showlakes": true, - "lakecolor": "white" - }, - "title": { - "x": 0.05 - }, - "mapbox": { - "style": "light" - } - } - }, - "xaxis": { - "anchor": "y", - "domain": [ - 0.0, - 1.0 - ] - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0.7333333333333333, - 1.0 - ] - }, - "scene": { - "domain": { - "x": [ - 0.0, - 1.0 - ], - "y": [ - 0.36666666666666664, - 0.6333333333333333 - ] - } - } - } - } - } - ] - }, - "metadata": { - "upload_id": "22nl3zC8QXCoZIGO6Ngdaw", - "upload_create_time": "2025-03-19T17:42:11.062000+00:00", - "entry_id": "ujku7LPDc-8aid-el-40AXLC8Fw_", - "entry_name": "a.archive.json", - "entry_type": "EntryData", - "entry_hash": "umwDnLW6dlqL6ecIO67Lp-bAfCl4", - "entry_create_time": "2025-03-19T17:42:21.685000+00:00", - "parser_name": "parsers/archive", - "mainfile": "a.archive.json", - "text_search_contents": [ - "figure 3", - "figure 9", - "B Scores", - "figure 2", - "figure 7", - "figure 4", - "figure 1", - "figure 5", - "figure 6", - "A Scores" - ], - "files": [ - "a.archive.json" - ], - "published": false, - "with_embargo": false, - "embargo_length": 0, - "license": "CC BY 4.0", - "processed": true, - "last_processing_time": "2025-03-19T17:42:21.783391+00:00", - "processing_errors": [], - "nomad_version": "1.3.16.dev121+g8289fdc4a", - "nomad_commit": "", - "nomad_distro_commit_url": "", - "references": [], - "main_author": "68878af7-6845-46c0-b2c1-250d4d8eb470", - "coauthors": [], - "coauthor_groups": [], - "entry_coauthors": [], - "reviewers": [], - "reviewer_groups": [], - "datasets": [], - "n_quantities": 80, - "quantities": [ - "", - "data", - "data.a", - "data.b", - "data.c", - "data.cells", - "data.colors", - "data.figures", - "data.figures.figure", - "data.figures.label", - "data.header", - "data.heatmap", - "data.sizes", - "data.surf1", - "data.surf2", - "data.u", - "data.v", - "data.w", - "data.x", - "data.x3d", - "data.y", - "data.y3d", - "data.z", - "data.z3d", - "metadata", - "metadata.coauthor_groups", - "metadata.coauthors", - "metadata.datasets", - "metadata.embargo_length", - "metadata.entry_coauthors", - "metadata.entry_create_time", - "metadata.entry_hash", - "metadata.entry_id", - "metadata.entry_name", - "metadata.entry_timestamp", - "metadata.entry_timestamp.timestamp", - "metadata.entry_timestamp.token", - "metadata.entry_timestamp.token_seed", - "metadata.entry_timestamp.tsa_server", - "metadata.entry_type", - "metadata.files", - "metadata.last_processing_time", - "metadata.license", - "metadata.main_author", - "metadata.mainfile", - "metadata.nomad_commit", - "metadata.nomad_distro_commit_url", - "metadata.nomad_version", - "metadata.parser_name", - "metadata.processed", - "metadata.processing_errors", - "metadata.published", - "metadata.quantities", - "metadata.references", - "metadata.reviewer_groups", - "metadata.reviewers", - "metadata.section_defs", - "metadata.section_defs.definition_id", - "metadata.section_defs.definition_qualified_name", - "metadata.section_defs.used_directly", - "metadata.sections", - "metadata.upload_create_time", - "metadata.upload_id", - "metadata.with_embargo", - "results", - "results.properties" - ], - "sections": [ - "nomad.datamodel.datamodel.EntryArchive", - "nomad.datamodel.datamodel.EntryMetadata", - "nomad.datamodel.datamodel.RFC3161Timestamp", - "nomad.datamodel.metainfo.plot.PlotlyFigure", - "nomad.datamodel.results.Properties", - "nomad.datamodel.results.Results" - ], - "entry_timestamp": { - "token_seed": "umwDnLW6dlqL6ecIO67Lp-bAfCl4", - "token": "MIIERAYJKoZIhvcNAQcCoIIENTCCBDECAQMxDTALBglghkgBZQMEAgEwfQYLKoZIhvcNAQkQAQSgbgRsMGoCAQEGDCsGAQQBga0hgiwWATAvMAsGCWCGSAFlAwQCAQQg5hSCnloQFscUf3Rf76QEkKGxFR3HGRokFGOGFH86W1MCFQCzJ/sDgfO1WkywqrKXJXIe2K0aJhgPMjAyNTAzMTkxNzQyMjFaMYIDnDCCA5gCAQEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCkC1XMzD3ji9J60uTALBglghkgBZQMEAgGggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNTAzMTkxNzQyMjFaMCsGCSqGSIb3DQEJNDEeMBwwCwYJYIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3DQEJBDEiBCAbNT8iVHbdefZyPW6g37mnN7eK6peQB/+snGLBISLyNzA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCC2CI293QiY00kHjXwjMqdOzIQUDKCDWfAjVyVGz26C5DANBgkqhkiG9w0BAQsFAASCAgCPYELjB19CQTdufM/zGRuc6yznkdd+mmzrRAInZq6Oklrl18K/FjWbx9SGl7IU5W1C12f6ynlVlC+4/JXJryOB6EPKhExGfDBaz8B0NpsSvdxMUWmsyFD84OwzD+7zYaGJLyecIoGpPYRAtZWY0CCDBdRgF4qSELdcSNJSE/ZZl/xjMyw9FXOdgiWUaIeQ7EbdJPEH7R+6PUJUC2S/EEvLbzuawmu4O/WiXbOlJan0cK9iK4iwEHNAya5lKF8m5iOTzt94pHFpCLt4dRj11IT1s417kawq+ACBQ7oNBLklLvr6saxad8eBeuZk3gU/19Aku/HWguix3XR5XWlGhHdv4Ed3OH+SlixY02k21oKcjO7bHBRylXlizPesGOy/VikId7GL46mqAUgwGG2euKAJmpZ2LFczYQ8LKwcF/E4uWJbBa7YcNq4dmEGsTcpMxJe1UVWrjAtUFMBNq7P4YzJ58JW2APJQCMtR/KEmFF5RrIzb3VswJwD1WV28oSZEFyXyQnllcpWUKskbhgNKxOsQvohtC1bYbjKO3ZyCHDAY6LVY3fEWFW9Pkq8tKYK6GQJ//aparru1LYxqNg3SzKYggAkQ2B0L3LmQYlxEkxwFCyioPf1i54zGI7jShVAJ/PsraBeYcefKoUzrXnZyRtRu/VijSCDYhxqMOLlQSprJiA==", - "tsa_server": "http://zeitstempel.dfn.de", - "timestamp": "2025-03-19T17:42:21+00:00" - }, - "section_defs": [ - { - "definition_qualified_name": "nomad.datamodel.data.ArchiveSection", - "definition_id": "7047cbff9980abff17cce4b1b6b0d1c783505b7f", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.data.EntryData", - "definition_id": "538f52fd8d52b29372066f878319c6aeb03b74d2", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.datamodel.EntryArchive", - "definition_id": "f16d4e3a5dfc26fad085b5f636c0b18da32fc688", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.datamodel.EntryMetadata", - "definition_id": "64204c5d96eb1385b547f3cb9148aa6d6a7c6f2a", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.datamodel.RFC3161Timestamp", - "definition_id": "1e3e9dd7b802b04343f46305a7d0f58663d8110a", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.metainfo.plot.Figure", - "definition_id": "bf82c8c5105b42f9390e7100b6206f55ecd75128", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.metainfo.plot.PlotSection", - "definition_id": "7675be926f858e446639457fee3846873e9c4f1c", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.metainfo.plot.PlotlyFigure", - "definition_id": "c2b92af9ee552c12ea402015d72cc227c5a5005e", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.results.Properties", - "definition_id": "9fcb2f8dea93e927ad23e6c6c43b732406796328", - "used_directly": true - }, - { - "definition_qualified_name": "nomad.datamodel.results.Results", - "definition_id": "5ccde651cb447bc26cb8d44b37c08b78b725909e", - "used_directly": true - } - ], - "search_quantities": [] - }, - "results": { - "properties": {} - }, - "m_ref_archives": {} -} -- GitLab