1
0

advanced_annotations.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # Copyright 2021-2024 Avaiga Private Limited
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  4. # the License. You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  9. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  10. # specific language governing permissions and limitations under the License.
  11. # -----------------------------------------------------------------------------------------
  12. # To execute this script, make sure that the taipy-gui package is installed in your
  13. # Python environment and run:
  14. # python <script>
  15. # -----------------------------------------------------------------------------------------
  16. from taipy.gui import Gui
  17. # Function to plot: x^3/3 - x
  18. def f(x):
  19. return x * x * x / 3 - x
  20. # x values: [-2.2, ..., 2.2]
  21. x = [(x - 10) / 4.5 for x in range(0, 21)]
  22. data = {
  23. "x": x,
  24. # y: [f(-2.2), ..., f(2.2)]
  25. "y": [f(x) for x in x],
  26. }
  27. layout = {
  28. # Chart title
  29. "title": "Local extrema",
  30. "annotations": [
  31. # Annotation for local maximum (x = -1)
  32. {"text": "Local <b>max</b>", "font": {"size": 20}, "x": -1, "y": f(-1)},
  33. # Annotation for local minimum (x = 1)
  34. {"text": "Local <b>min</b>", "font": {"size": 20}, "x": 1, "y": f(1), "xanchor": "left"},
  35. ],
  36. }
  37. page = """
  38. <|{data}|chart|layout={layout}|>
  39. """
  40. if __name__ == "__main__":
  41. Gui(page).run(title="Chart - Advanced - Annotations")