advanced-annotations.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. if __name__ == "__main__":
  21. # x values: [-2.2, ..., 2.2]
  22. x = [(x - 10) / 4.5 for x in range(0, 21)]
  23. data = {
  24. "x": x,
  25. # y: [f(-2.2), ..., f(2.2)]
  26. "y": [f(x) for x in x],
  27. }
  28. layout = {
  29. # Chart title
  30. "title": "Local extrema",
  31. "annotations": [
  32. # Annotation for local maximum (x = -1)
  33. {"text": "Local <b>max</b>", "font": {"size": 20}, "x": -1, "y": f(-1)},
  34. # Annotation for local minimum (x = 1)
  35. {"text": "Local <b>min</b>", "font": {"size": 20}, "x": 1, "y": f(1), "xanchor": "left"},
  36. ],
  37. }
  38. page = """
  39. # Advanced - Annotations
  40. <|{data}|chart|layout={layout}|>
  41. """
  42. Gui(page).run()