QuasarCode 0.32.12__tar.gz → 0.32.13__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.
Files changed (122) hide show
  1. {quasarcode-0.32.12 → quasarcode-0.32.13}/PKG-INFO +1 -1
  2. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedPlot.py +63 -7
  3. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_autoproperty.py +7 -7
  4. quasarcode-0.32.13/src/QuasarCode/__about__.py +1 -0
  5. quasarcode-0.32.12/src/QuasarCode/__about__.py +0 -1
  6. {quasarcode-0.32.12 → quasarcode-0.32.13}/.gitattributes +0 -0
  7. {quasarcode-0.32.12 → quasarcode-0.32.13}/.gitignore +0 -0
  8. {quasarcode-0.32.12 → quasarcode-0.32.13}/.vscode/settings.json +0 -0
  9. {quasarcode-0.32.12 → quasarcode-0.32.13}/LICENSE.txt +0 -0
  10. {quasarcode-0.32.12 → quasarcode-0.32.13}/README.md +0 -0
  11. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/UnitTests_Python.pyproj +0 -0
  12. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_QuasarCode.py +0 -0
  13. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_edp.py +0 -0
  14. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_games.py +0 -0
  15. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_io.py +0 -0
  16. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_mpi.py +0 -0
  17. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_science.py +0 -0
  18. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/test_tools.py +0 -0
  19. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/testconfig.json +0 -0
  20. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/testconfig.properties +0 -0
  21. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/testconfig.yaml +0 -0
  22. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/testconfig_2.yaml +0 -0
  23. {quasarcode-0.32.12 → quasarcode-0.32.13}/old__UnitTests_Python/testingFigure.png +0 -0
  24. {quasarcode-0.32.12 → quasarcode-0.32.13}/pyproject.toml +0 -0
  25. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/_AuthorInfomation.py +0 -0
  26. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/_PersonInfomation.py +0 -0
  27. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/_Rect.py +0 -0
  28. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/_Rect3D.py +0 -0
  29. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/_VersionInformation.py +0 -0
  30. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Data/__init__.py +0 -0
  31. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_CardGroup.py +0 -0
  32. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_CardQueue.py +0 -0
  33. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_CardStack.py +0 -0
  34. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_Deck.py +0 -0
  35. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_IPlayingCard.py +0 -0
  36. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/_PlayingCard.py +0 -0
  37. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Cards/__init__.py +0 -0
  38. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_Dice12.py +0 -0
  39. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_Dice6.py +0 -0
  40. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_Dice8.py +0 -0
  41. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_DiceCup.py +0 -0
  42. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_IDice.py +0 -0
  43. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/_NDice.py +0 -0
  44. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Dice/__init__.py +0 -0
  45. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Spinners/_ISpinner.py +0 -0
  46. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Spinners/_Spinner.py +0 -0
  47. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/Spinners/__init__.py +0 -0
  48. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Games/__init__.py +0 -0
  49. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Caching/_CacheTarget.py +0 -0
  50. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Caching/_CacheTargetFactory.py +0 -0
  51. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Caching/_Cacheable.py +0 -0
  52. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Caching/_CacheableList.py +0 -0
  53. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Caching/__init__.py +0 -0
  54. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Checkpointing/_CheckpointBase.py +0 -0
  55. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Checkpointing/_CheckpointController.py +0 -0
  56. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Checkpointing/_CheckpointState.py +0 -0
  57. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Checkpointing/_PickleCheckpoint.py +0 -0
  58. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Checkpointing/__init__.py +0 -0
  59. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Configurations/_ConfigsBase.py +0 -0
  60. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Configurations/__init__.py +0 -0
  61. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Configurations/_json.py +0 -0
  62. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Configurations/_properties.py +0 -0
  63. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Configurations/_yaml.py +0 -0
  64. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Text/__init__.py +0 -0
  65. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Text/_console.py +0 -0
  66. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/Text/_stopwatch.py +0 -0
  67. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/IO/__init__.py +0 -0
  68. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_MPI_Config_Base.py +0 -0
  69. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/__init__.py +0 -0
  70. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_dependant_dummy/__init__.py +0 -0
  71. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_dependant_dummy/_convinience_methods.py +0 -0
  72. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_dependant_mpi/__init__.py +0 -0
  73. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_dependant_mpi/_convinience_methods.py +0 -0
  74. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_independant_dummy/_mpi_config.py +0 -0
  75. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/MPI/_independant_mpi/_mpi_config.py +0 -0
  76. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_Bins.py +0 -0
  77. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedFigureGrid.py +0 -0
  78. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedFigureGridFactory.py +0 -0
  79. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedPlotCustomLegend.py +0 -0
  80. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedPlotElements.py +0 -0
  81. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedPlotFactory.py +0 -0
  82. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_CachedPlotFontInfo.py +0 -0
  83. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_Contour.py +0 -0
  84. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/_Hexbin.py +0 -0
  85. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Plotting/__init__.py +0 -0
  86. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/__init__.py +0 -0
  87. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/_hexbin.py +0 -0
  88. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/_plotting.py +0 -0
  89. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/data.py +0 -0
  90. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/figure.py +0 -0
  91. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/fitline.py +0 -0
  92. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Science/graph.py +0 -0
  93. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/StringLiterals.py +0 -0
  94. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/Validators.py +0 -0
  95. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_CacheableFunction.py +0 -0
  96. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_Char.py +0 -0
  97. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_ScreenResolution.py +0 -0
  98. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_Struct.py +0 -0
  99. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/__init__.py +0 -0
  100. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_array_visuliser.py +0 -0
  101. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_async.py +0 -0
  102. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_cast.py +0 -0
  103. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_common_casts.py +0 -0
  104. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_directorys_and_imports.py +0 -0
  105. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_edit_locals.py +0 -0
  106. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_multiItterator.py +0 -0
  107. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_networking.py +0 -0
  108. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_script_wrapper.py +0 -0
  109. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_stopwatch.py +0 -0
  110. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/Tools/_typeshield.py +0 -0
  111. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/__init__.py +0 -0
  112. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/_global_settings.py +0 -0
  113. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/edp/_Event.py +0 -0
  114. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/edp/_NotEnoughArgumentsError.py +0 -0
  115. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/edp/_SubscriberNotPresentError.py +0 -0
  116. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/edp/_UndersubscribedEventError.py +0 -0
  117. {quasarcode-0.32.12 → quasarcode-0.32.13}/src/QuasarCode/edp/__init__.py +0 -0
  118. {quasarcode-0.32.12 → quasarcode-0.32.13}/tests/__init__.py +0 -0
  119. {quasarcode-0.32.12 → quasarcode-0.32.13}/tests/test_CachedPlot.py +0 -0
  120. {quasarcode-0.32.12 → quasarcode-0.32.13}/tests/test_ScriptWrapper.py +0 -0
  121. {quasarcode-0.32.12 → quasarcode-0.32.13}/tests/test_array_visuliser.py +0 -0
  122. {quasarcode-0.32.12 → quasarcode-0.32.13}/tests/test_autoproperty.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuasarCode
3
- Version: 0.32.12
3
+ Version: 0.32.13
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
@@ -4,6 +4,7 @@ from typing import Any, Literal, Optional
4
4
  from matplotlib.figure import Figure
5
5
  from matplotlib.axes import Axes
6
6
  from matplotlib.axes._secondary_axes import SecondaryAxis
7
+ from matplotlib.ticker import FixedLocator, FixedFormatter, StrMethodFormatter, FuncFormatter, Formatter
7
8
 
8
9
  from ..Data._Rect import Rect
9
10
  from ..IO.Caching._CacheableList import CacheableList
@@ -31,6 +32,10 @@ class CachedPlot(CacheableStruct):
31
32
  custom_legends = AutoProperty_NonNullable[dict[str, CachedPlotCustomLegend]]()
32
33
  show_x_ticks = AutoProperty_NonNullable[bool](default_value = True)
33
34
  show_y_ticks = AutoProperty_NonNullable[bool](default_value = True)
35
+ x_tick_locations = AutoProperty[CacheableList[float]](allow_uninitialised = True)
36
+ y_tick_locations = AutoProperty[CacheableList[float]](allow_uninitialised = True)
37
+ x_tick_format = AutoProperty[CacheableList[int|float|str]|str|CacheableFunction](allow_uninitialised = True) # [0, 1, 2, 3] or ["a", "b", "c", "d"] or "{x:.3f}" or lambda x, pos: _
38
+ y_tick_format = AutoProperty[CacheableList[int|float|str]|str|CacheableFunction](allow_uninitialised = True)
34
39
  show_x_ticks_on_other_side = AutoProperty_NonNullable[bool](default_value = False)
35
40
  show_y_ticks_on_other_side = AutoProperty_NonNullable[bool](default_value = False)
36
41
  show_x_tick_labels = AutoProperty_NonNullable[bool](default_value = True)
@@ -41,6 +46,10 @@ class CachedPlot(CacheableStruct):
41
46
  y_ticks_inside = AutoProperty_NonNullable[bool](default_value = False)
42
47
  alt_x_axis_functions = AutoProperty[CacheableList[CacheableFunction]](allow_uninitialised = True)
43
48
  alt_y_axis_functions = AutoProperty[CacheableList[CacheableFunction]](allow_uninitialised = True)
49
+ alt_x_tick_locations = AutoProperty[CacheableList[float]](allow_uninitialised = True)
50
+ alt_y_tick_locations = AutoProperty[CacheableList[float]](allow_uninitialised = True)
51
+ alt_x_tick_format = AutoProperty[CacheableList[int|float|str]|str|CacheableFunction](allow_uninitialised = True)
52
+ alt_y_tick_format = AutoProperty[CacheableList[int|float|str]|str|CacheableFunction](allow_uninitialised = True)
44
53
  alt_x_axis_label = AutoProperty[str](allow_uninitialised = True)
45
54
  alt_y_axis_label = AutoProperty[str](allow_uninitialised = True)
46
55
  show_alt_x_ticks = AutoProperty_NonNullable[bool](default_value = True)
@@ -69,16 +78,18 @@ class CachedPlot(CacheableStruct):
69
78
  "title", "plot_elements", "colourbars", "extent", "aspect", "aspect_adjustable",
70
79
  "aspect_anchor", "x_axis_label", "y_axis_label", "flip_x", "flip_y", "show_legend",
71
80
  "legend_position", "custom_legends", "show_x_ticks", "show_y_ticks",
81
+ "x_tick_locations", "y_tick_locations", "x_tick_format", "y_tick_format",
72
82
  "show_x_ticks_on_other_side", "show_y_ticks_on_other_side", "show_x_tick_labels",
73
83
  "show_y_tick_labels", "show_x_tick_labels_on_other_side",
74
84
  "show_y_tick_labels_on_other_side", "x_ticks_inside", "y_ticks_inside",
75
- "alt_x_axis_functions", "alt_y_axis_functions", "alt_x_axis_label",
76
- "alt_y_axis_label", "show_alt_x_ticks", "show_alt_y_ticks",
77
- "show_alt_x_tick_labels", "show_alt_y_tick_labels", "alt_x_ticks_inside",
78
- "alt_y_ticks_inside", "default_font", "title_font", "x_axis_label_font",
79
- "y_axis_label_font", "alt_x_axis_label_font", "alt_y_axis_label_font",
80
- "x_tick_label_font", "y_tick_label_font", "alt_x_tick_label_font",
81
- "alt_y_tick_label_font"
85
+ "alt_x_axis_functions", "alt_y_axis_functions"
86
+ "alt_x_tick_locations", "alt_y_tick_locations", "alt_x_tick_format",
87
+ "alt_y_tick_format", "alt_x_axis_label", "alt_y_axis_label", "show_alt_x_ticks",
88
+ "show_alt_y_ticks", "show_alt_x_tick_labels", "show_alt_y_tick_labels",
89
+ "alt_x_ticks_inside", "alt_y_ticks_inside", "default_font", "title_font",
90
+ "x_axis_label_font", "y_axis_label_font", "alt_x_axis_label_font",
91
+ "alt_y_axis_label_font", "x_tick_label_font", "y_tick_label_font",
92
+ "alt_x_tick_label_font", "alt_y_tick_label_font"
82
93
  ),
83
94
  **kwargs
84
95
  )
@@ -149,6 +160,31 @@ class CachedPlot(CacheableStruct):
149
160
  if self.y_axis_label is not None:
150
161
  axis.set_ylabel(self.y_axis_label, **self.y_axis_label_font.with_default(self.default_font).with_default(figure_default_font).fontdict)
151
162
 
163
+ if self.x_tick_locations is not None:
164
+ axis.xaxis.set_major_locator(FixedLocator(self.x_tick_locations))
165
+ if self.y_tick_locations is not None:
166
+ axis.yaxis.set_major_locator(FixedLocator(self.y_tick_locations))
167
+
168
+ formatter: Formatter
169
+
170
+ if self.x_tick_format is not None:
171
+ if isinstance(self.x_tick_format, list):
172
+ formatter = FixedFormatter(map(str, self.x_tick_format))
173
+ elif isinstance(self.x_tick_format, str):
174
+ formatter = StrMethodFormatter(self.x_tick_format)
175
+ else:
176
+ formatter = FuncFormatter(self.x_tick_format)
177
+ axis.xaxis.set_major_formatter(formatter)
178
+
179
+ if self.y_tick_format is not None:
180
+ if isinstance(self.y_tick_format, list):
181
+ formatter = FixedFormatter(map(str, self.y_tick_format))
182
+ elif isinstance(self.y_tick_format, str):
183
+ formatter = StrMethodFormatter(self.y_tick_format)
184
+ else:
185
+ formatter = FuncFormatter(self.y_tick_format)
186
+ axis.yaxis.set_major_formatter(formatter)
187
+
152
188
  x_tick_label_font = self.x_tick_label_font.with_default(self.default_font).with_default(figure_default_font)
153
189
  x_tick_label_font_kwargs = {}
154
190
  if x_tick_label_font.size is not None:
@@ -195,6 +231,16 @@ class CachedPlot(CacheableStruct):
195
231
  )
196
232
  if self.alt_x_axis_label is not None:
197
233
  self._alt_x_axis.set_xlabel(self.alt_x_axis_label, **self.alt_x_axis_label_font.with_default(self.x_axis_label_font).with_default(self.default_font).with_default(figure_default_font).fontdict)
234
+ if self.alt_x_tick_locations is not None:
235
+ self._alt_x_axis.xaxis.set_major_locator(FixedLocator(self.alt_x_tick_locations))
236
+ if self.alt_x_tick_format is not None:
237
+ if isinstance(self.alt_x_tick_format, list):
238
+ formatter = FixedFormatter(map(str, self.alt_x_tick_format))
239
+ elif isinstance(self.alt_x_tick_format, str):
240
+ formatter = StrMethodFormatter(self.alt_x_tick_format)
241
+ else:
242
+ formatter = FuncFormatter(self.alt_x_tick_format)
243
+ self._alt_x_axis.xaxis.set_major_formatter(formatter)
198
244
  alt_x_tick_label_font = self.alt_x_tick_label_font.with_default(self.x_tick_label_font).with_default(self.default_font).with_default(figure_default_font)
199
245
  alt_x_tick_label_font_kwargs = {}
200
246
  if alt_x_tick_label_font.size is not None:
@@ -218,6 +264,16 @@ class CachedPlot(CacheableStruct):
218
264
  )
219
265
  if self.alt_y_axis_label is not None:
220
266
  self._alt_y_axis.set_xlabel(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
+ if self.alt_y_tick_locations is not None:
268
+ self._alt_y_axis.yaxis.set_major_locator(FixedLocator(self.alt_y_tick_locations))
269
+ if self.alt_y_tick_format is not None:
270
+ if isinstance(self.alt_y_tick_format, list):
271
+ formatter = FixedFormatter(map(str, self.alt_y_tick_format))
272
+ elif isinstance(self.alt_y_tick_format, str):
273
+ formatter = StrMethodFormatter(self.alt_y_tick_format)
274
+ else:
275
+ formatter = FuncFormatter(self.alt_y_tick_format)
276
+ self._alt_y_axis.yaxis.set_major_formatter(formatter)
221
277
  alt_y_tick_label_font = self.alt_y_tick_label_font.with_default(self.y_tick_label_font).with_default(self.default_font).with_default(figure_default_font)
222
278
  alt_y_tick_label_font_kwargs = {}
223
279
  if alt_y_tick_label_font.size is not None:
@@ -11,11 +11,11 @@ class AutoProperty(property, Generic[T]):
11
11
 
12
12
  Uninitialised properties are assigned None and are considered uninitialised (i.e. like NULLPTR).
13
13
 
14
- Calling the deleter will uninitialise the value back to None.
14
+ Calling the deleter will uninitialize the value back to None.
15
15
 
16
16
  Constructor:
17
17
  str | None doc -> Optional documentation string for the property. Defaults to None.
18
- bool allow_uninitialised -> If the property is unititialised, should None be returned upon attempting to access the value? Default is False.
18
+ bool allow_uninitialised -> If the property is uninitialised, should None be returned upon attempting to access the value? Default is False.
19
19
  """
20
20
 
21
21
  def __init__(self, default_value: Union[T, None] = None, doc: Union[str, None] = None, allow_uninitialised: bool = False) -> None:
@@ -78,7 +78,7 @@ class AutoProperty_NonNullable(AutoProperty[T]):
78
78
  Syntactic sugar for AutoProperty(..., allow_uninitialised = False)
79
79
  Also adds a more appropriate type hint for the underlying property __get__ method.
80
80
 
81
- Calling the deleter will uninitialise the value making the property unreadable.
81
+ Calling the deleter will uninitialize the value making the property unreadable.
82
82
 
83
83
  Constructor:
84
84
  str | None doc -> Optional documentation string for the property. Defaults to None.
@@ -96,7 +96,7 @@ class NullableTypedAutoProperty(AutoProperty[T]):
96
96
 
97
97
  Uninitialised properties are assigned None by default.
98
98
 
99
- Calling the deleter will uninitialise the value back to None.
99
+ Calling the deleter will uninitialize the value back to None.
100
100
 
101
101
  TypeParam:
102
102
  T -> The type of the property's value (when initialised).
@@ -119,7 +119,7 @@ class TypedAutoProperty(AutoProperty_NonNullable[T]):
119
119
 
120
120
  Uninitialised properties are assigned None and are considered uninitialised (i.e. like NULLPTR).
121
121
 
122
- Calling the deleter will uninitialise the value back to None.
122
+ Calling the deleter will uninitialize the value back to None.
123
123
 
124
124
  TypeParam:
125
125
  T -> The type of the property's value (when initialised).
@@ -142,14 +142,14 @@ class TypeCastAutoProperty(AutoProperty[T]):
142
142
 
143
143
  Uninitialised properties are assigned None and are considered uninitialised (i.e. like NULLPTR).
144
144
 
145
- Calling the deleter will uninitialise the value back to None.
145
+ Calling the deleter will uninitialize the value back to None.
146
146
 
147
147
  TypeParam:
148
148
  T -> The return type of the cast operation. Also the type of the property's value (when initialised).
149
149
 
150
150
  Constructor:
151
151
  str | None doc -> Optional documentation string for the property. Defaults to None.
152
- bool allow_uninitialised -> If the property is unititialised, should None be returned upon attempting to access the value? Default is False.
152
+ bool allow_uninitialised -> If the property is uninitialised, should None be returned upon attempting to access the value? Default is False.
153
153
  """
154
154
 
155
155
  def __init__(self, cast: Union[Cast[T], Callable[[Any], T]], default_value: Union[T, None] = None, doc: Union[str, None] = None) -> None:
@@ -0,0 +1 @@
1
+ __version__ = "0.32.13"
@@ -1 +0,0 @@
1
- __version__ = "0.32.12"
File without changes
File without changes
File without changes