QuasarCode 0.32.15__tar.gz → 0.33.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quasarcode-0.32.15 → quasarcode-0.33.0}/PKG-INFO +1 -1
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedFigureGrid.py +22 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedPlot.py +25 -1
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedPlotCustomLegend.py +16 -6
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedPlotElements.py +4 -2
- quasarcode-0.33.0/src/QuasarCode/__about__.py +1 -0
- quasarcode-0.32.15/src/QuasarCode/__about__.py +0 -1
- {quasarcode-0.32.15 → quasarcode-0.33.0}/.gitattributes +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/.gitignore +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/.vscode/settings.json +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/LICENSE.txt +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/README.md +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/UnitTests_Python.pyproj +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_QuasarCode.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_edp.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_games.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_io.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_mpi.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_science.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/test_tools.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/testconfig.json +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/testconfig.properties +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/testconfig.yaml +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/testconfig_2.yaml +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/old__UnitTests_Python/testingFigure.png +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/pyproject.toml +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/_AuthorInfomation.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/_PersonInfomation.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/_Rect.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/_Rect3D.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/_VersionInformation.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Data/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_CardGroup.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_CardQueue.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_CardStack.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_Deck.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_IPlayingCard.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/_PlayingCard.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Cards/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_Dice12.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_Dice6.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_Dice8.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_DiceCup.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_IDice.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/_NDice.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Dice/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Spinners/_ISpinner.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Spinners/_Spinner.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/Spinners/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Games/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Caching/_CacheTarget.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Caching/_CacheTargetFactory.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Caching/_Cacheable.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Caching/_CacheableList.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Caching/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_CheckpointBase.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Configurations/_ConfigsBase.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Configurations/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Configurations/_json.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Configurations/_properties.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Configurations/_yaml.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Text/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Text/_console.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Text/_stopwatch.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_MPI_Config_Base.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_dummy/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_mpi/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_independant_mpi/_mpi_config.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_Bins.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedPlotFactory.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedPlotFontInfo.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_Contour.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_Hexbin.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/_hexbin.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/_plotting.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/data.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/figure.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/fitline.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Science/graph.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/StringLiterals.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/Validators.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_CacheableFunction.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_Char.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_ScreenResolution.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_Struct.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_array_visuliser.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_async.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_autoproperty.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_cast.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_common_casts.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_directorys_and_imports.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_edit_locals.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_multiItterator.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_networking.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_script_wrapper.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_stopwatch.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Tools/_typeshield.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/_global_settings.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/edp/_Event.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/edp/_NotEnoughArgumentsError.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/edp/_SubscriberNotPresentError.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/edp/_UndersubscribedEventError.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/edp/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/tests/__init__.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/tests/test_CachedPlot.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/tests/test_ScriptWrapper.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/tests/test_array_visuliser.py +0 -0
- {quasarcode-0.32.15 → quasarcode-0.33.0}/tests/test_autoproperty.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: QuasarCode
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.33.0
|
|
4
4
|
Summary: A general purpose library for Python applications.
|
|
5
5
|
Project-URL: Documentation, https://github.com/QuasarX1/QuasarCode/blob/master/README.md
|
|
6
6
|
Project-URL: Issues, https://github.com/QuasarX1/QuasarCode/issues
|
|
@@ -469,6 +469,28 @@ class CachedFigureGrid(CacheableStruct):
|
|
|
469
469
|
self.colourbars.pop(name)
|
|
470
470
|
except KeyError: pass
|
|
471
471
|
|
|
472
|
+
def add_legend(self, name: str) -> None:
|
|
473
|
+
self.custom_legends[name] = CachedPlotCustomLegend()
|
|
474
|
+
|
|
475
|
+
def add_to_legend(self, plot_name: str, element_name: str, label: Optional[str] = None, legend_name: Optional[str] = None) -> None:
|
|
476
|
+
if legend_name is None:
|
|
477
|
+
if len(self.custom_legends) > 1:
|
|
478
|
+
raise KeyError("Unable to assume legend name where multiple legends are specified.")
|
|
479
|
+
if len(self.custom_legends) == 0:
|
|
480
|
+
legend_name = "legend"
|
|
481
|
+
self.add_legend(legend_name)
|
|
482
|
+
else:
|
|
483
|
+
legend_name = list(self.custom_legends.keys())[0]
|
|
484
|
+
if label is None:
|
|
485
|
+
element = self.plots[plot_name].plot_elements[element_name]
|
|
486
|
+
try:
|
|
487
|
+
label = element.label
|
|
488
|
+
if element.label is None:
|
|
489
|
+
raise KeyError()
|
|
490
|
+
except:
|
|
491
|
+
raise KeyError("Element has no assigned label.")
|
|
492
|
+
self.custom_legends[legend_name].add_element(label, (plot_name, element_name))
|
|
493
|
+
|
|
472
494
|
def get_axis_rect_relative(self, name: str) -> Rect:
|
|
473
495
|
"""
|
|
474
496
|
Get a Rect instance containing the relative position and size of a named axis.
|
|
@@ -136,6 +136,30 @@ class CachedPlot(CacheableStruct):
|
|
|
136
136
|
raise KeyError(f"No element exists with the target name \"{colourbar.target_element}\".")
|
|
137
137
|
self.colourbars[name] = colourbar
|
|
138
138
|
|
|
139
|
+
def add_legend(self, name: str, *element_names: str) -> None:
|
|
140
|
+
self.custom_legends[name] = CachedPlotCustomLegend()
|
|
141
|
+
for element_name in element_names:
|
|
142
|
+
self.add_to_legend(element_name, legend_name = name)
|
|
143
|
+
|
|
144
|
+
def add_to_legend(self, element_name: str, label: Optional[str] = None, legend_name: Optional[str] = None) -> None:
|
|
145
|
+
if legend_name is None:
|
|
146
|
+
if len(self.custom_legends) > 1:
|
|
147
|
+
raise KeyError("Unable to assume legend name where multiple legends are specified.")
|
|
148
|
+
if len(self.custom_legends) == 0:
|
|
149
|
+
legend_name = "legend"
|
|
150
|
+
self.add_legend(legend_name)
|
|
151
|
+
else:
|
|
152
|
+
legend_name = list(self.custom_legends.keys())[0]
|
|
153
|
+
if label is None:
|
|
154
|
+
element = self.plot_elements[element_name]
|
|
155
|
+
try:
|
|
156
|
+
label = element.label
|
|
157
|
+
if element.label is None:
|
|
158
|
+
raise KeyError()
|
|
159
|
+
except:
|
|
160
|
+
raise KeyError("Element has no assigned label.")
|
|
161
|
+
self.custom_legends[legend_name].add_element(label, element_name)
|
|
162
|
+
|
|
139
163
|
def render(self, figure: Figure, axis: Axes, figure_default_font: Optional[CachedPlotFontInfo] = None, forward_kwargs: dict[str, dict[str, Any]]|None = None, forward_colourbar_kwargs: dict[str, dict[str, Any]]|None = None) -> None:
|
|
140
164
|
if forward_kwargs is None:
|
|
141
165
|
forward_kwargs = {}
|
|
@@ -263,7 +287,7 @@ class CachedPlot(CacheableStruct):
|
|
|
263
287
|
functions = tuple(self.alt_y_axis_functions)
|
|
264
288
|
)
|
|
265
289
|
if self.alt_y_axis_label is not None:
|
|
266
|
-
self._alt_y_axis.
|
|
290
|
+
self._alt_y_axis.set_ylabel(self.alt_y_axis_label, **self.alt_y_axis_label_font.with_default(self.y_axis_label_font).with_default(self.default_font).with_default(figure_default_font).fontdict)
|
|
267
291
|
if self.alt_y_tick_locations is not None:
|
|
268
292
|
self._alt_y_axis.yaxis.set_major_locator(FixedLocator(self.alt_y_tick_locations))
|
|
269
293
|
if self.alt_y_tick_format is not None:
|
|
@@ -29,6 +29,7 @@ class CachedPlotLegendBoxProperties(CacheableStruct):
|
|
|
29
29
|
class CachedPlotCustomLegend(CacheableStruct):
|
|
30
30
|
title = AutoProperty [str ](allow_uninitialised = True)
|
|
31
31
|
element_targets = AutoProperty_NonNullable[dict[str,str|tuple[str,str]] ]() # Label : target element | (target plot, target element)
|
|
32
|
+
order = AutoProperty [list[str] ]() # List of labels
|
|
32
33
|
reverse_order = AutoProperty_NonNullable[bool ](default_value = False)
|
|
33
34
|
columns = AutoProperty_NonNullable[int ](default_value = 1)
|
|
34
35
|
position = AutoProperty_NonNullable[Literal["best", "upper left", "upper center", "upper right", "center left", "center", "center right", "lower left", "lower center", "lower right"]|tuple[float, float]](default_value = "best")
|
|
@@ -58,7 +59,7 @@ class CachedPlotCustomLegend(CacheableStruct):
|
|
|
58
59
|
def __init__(self, **kwargs):
|
|
59
60
|
super().__init__(
|
|
60
61
|
cacheable_attributes = [
|
|
61
|
-
"title", "element_targets", "reverse_order", "columns", "position",
|
|
62
|
+
"title", "element_targets", "order", "reverse_order", "columns", "position",
|
|
62
63
|
"anchor_region", "anchor", "anchor_space", "label_font", "label_colours",
|
|
63
64
|
"title_font", "alignment", "line_render_points", "scatter_render_points",
|
|
64
65
|
"scatter_render_points_y_offsets", "marker_scale", "marker_location",
|
|
@@ -76,22 +77,31 @@ class CachedPlotCustomLegend(CacheableStruct):
|
|
|
76
77
|
if "box" not in kwargs:
|
|
77
78
|
self.box = CachedPlotLegendBoxProperties()
|
|
78
79
|
|
|
80
|
+
def add_element(self, label: str, target: str|tuple[str,str]) -> None:
|
|
81
|
+
if self.order is None:
|
|
82
|
+
self.order = list(self.element_targets.keys())
|
|
83
|
+
self.element_targets[label] = target
|
|
84
|
+
self.order.append(label)
|
|
85
|
+
|
|
79
86
|
def render(self, figure: Figure, axis: Axes|None, default_font: CachedPlotFontInfo, plot_elements: Optional[dict[str, CachedPlotElement]] = None, elements_by_figure_plot: Optional[dict[str, dict[str, CachedPlotElement]]] = None, *args: Any, **kwargs: Any) -> None:
|
|
80
87
|
|
|
81
88
|
if plot_elements is None and elements_by_figure_plot is None:
|
|
82
89
|
raise ValueError("At least one of plot_elements or elements_by_figure_plot must be provided to render a CachedPlotCustomLegend.")
|
|
83
|
-
|
|
90
|
+
|
|
84
91
|
if self.anchor is None and self.anchor_region is not None:
|
|
85
92
|
raise ValueError("Only one of anchor or anchor_region may be set.")
|
|
86
|
-
|
|
93
|
+
|
|
87
94
|
if self.anchor_space is not None and self.anchor_space != "figure-space" and axis is None:
|
|
88
95
|
raise ValueError("anchor_space cannot be set to a value other than 'figure-space' if axis is not provided.")
|
|
89
|
-
|
|
96
|
+
|
|
90
97
|
anchor_transform = None if self.anchor_space is None else figure.transFigure if self.anchor_space == "figure-space" else axis.transAxes if self.anchor_space == "axis-space" else axis.transData
|
|
91
98
|
|
|
99
|
+
target_labels_in_order = self.order if self.order is not None else list(self.element_targets.keys())
|
|
100
|
+
|
|
92
101
|
artists = []
|
|
93
102
|
labels = []
|
|
94
|
-
for label
|
|
103
|
+
for label in target_labels_in_order:
|
|
104
|
+
target = self.element_targets[label]
|
|
95
105
|
target_plot: str|None
|
|
96
106
|
target_element: str
|
|
97
107
|
artist: Artist
|
|
@@ -146,4 +156,4 @@ class CachedPlotCustomLegend(CacheableStruct):
|
|
|
146
156
|
columnspacing = self.horizontal_spacing,
|
|
147
157
|
# handler_map =,
|
|
148
158
|
draggable =self.mouse_draggable,
|
|
149
|
-
)
|
|
159
|
+
)
|
|
@@ -120,7 +120,8 @@ class CachedPlotErrorbar(CachedPlotElement[ErrorbarContainer]):
|
|
|
120
120
|
yerr = AutoProperty[np.ndarray[tuple[int], np.dtype[np.floating]]](allow_uninitialised = True)
|
|
121
121
|
label = AutoProperty[str](allow_uninitialised = True)
|
|
122
122
|
line_colour = AutoProperty[ColorType|Sequence[ColorType]](allow_uninitialised = True)
|
|
123
|
-
|
|
123
|
+
linestyle = AutoProperty[str](allow_uninitialised = True)
|
|
124
|
+
#marker_colour = AutoProperty[ColorType|Sequence[ColorType]](allow_uninitialised = True)#TODO: is this even an option? DOn't forget to re-add to the cache list!!!!
|
|
124
125
|
error_colour = AutoProperty[ColorType|Sequence[ColorType]](allow_uninitialised = True)
|
|
125
126
|
error_line_width = AutoProperty[float](allow_uninitialised = True)
|
|
126
127
|
colourmap = AutoProperty[str|Colormap](allow_uninitialised = True)
|
|
@@ -128,7 +129,7 @@ class CachedPlotErrorbar(CachedPlotElement[ErrorbarContainer]):
|
|
|
128
129
|
size = AutoProperty["float|ArrayLike"](allow_uninitialised = True)
|
|
129
130
|
alpha = AutoProperty["float|ArrayLike"](allow_uninitialised = True)
|
|
130
131
|
def __init__(self, **kwargs):
|
|
131
|
-
super().__init__("x", "y", "xerr", "yerr", "colourmap", **kwargs)
|
|
132
|
+
super().__init__("x", "y", "xerr", "yerr", "label", "line_colour", "linestyle", "error_colour", "error_line_width", "colourmap", "marker", "size", "alpha", **kwargs)
|
|
132
133
|
def render(self, figure: Figure, axis: Axes, default_font: CachedPlotFontInfo, *args: Any, **kwargs: Any):
|
|
133
134
|
self._result = axis.errorbar(
|
|
134
135
|
x = self.x,
|
|
@@ -143,6 +144,7 @@ class CachedPlotErrorbar(CachedPlotElement[ErrorbarContainer]):
|
|
|
143
144
|
markersize = self.size,
|
|
144
145
|
alpha = self.alpha,
|
|
145
146
|
color = self.line_colour,
|
|
147
|
+
linestyle = self.linestyle,
|
|
146
148
|
**kwargs
|
|
147
149
|
)
|
|
148
150
|
@staticmethod
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.33.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.32.15"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py
RENAMED
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py
RENAMED
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py
RENAMED
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quasarcode-0.32.15 → quasarcode-0.33.0}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|