candlestick_styling.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. # You may need to install the yfinance package as well.
  16. # -----------------------------------------------------------------------------------------
  17. import yfinance
  18. from taipy.gui import Gui
  19. # Extraction of a few days of stock historical data for AAPL using
  20. # the yfinance package (see https://pypi.org/project/yfinance/).
  21. # The returned value is a Pandas DataFrame.
  22. ticker = yfinance.Ticker("AAPL")
  23. stock = ticker.history(interval="1d", start="2018-08-18", end="2018-09-10")
  24. # Copy the DataFrame index to a new column
  25. stock["Date"] = stock.index
  26. options = {
  27. # Candlesticks that show decreasing values are orange
  28. "decreasing": {"line": {"color": "orange"}},
  29. # Candlesticks that show decreasing values are blue
  30. "increasing": {"line": {"color": "blue"}},
  31. }
  32. layout = {
  33. "xaxis": {
  34. # Hide the range slider
  35. "rangeslider": {"visible": False}
  36. }
  37. }
  38. page = """
  39. <|{stock}|chart|type=candlestick|x=Date|open=Open|close=Close|low=Low|high=High|options={options}|layout={layout}|>
  40. """
  41. if __name__ == "__main__":
  42. Gui(page).run(title="Chart - Candlestick - Styling")