Files
lightweight-charts-python/docs/source/examples/subchart.md
louisnw d43e7c24e7 Enhancements:
- Hotkeys can now use any character, and modifier keys are not required.
- Refactored the colors of the topbar, searchbox, toolbox, and widgets for consistency.
- Toolbox/interval refactoring and simplification.
- Histograms now show up in the legend, and will use shorthand notation by default (e.g 34k rather than 34000).
2023-09-24 15:09:45 +01:00

96 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Subcharts
## Grid of 4
```python
import pandas as pd
from lightweight_charts import Chart
if __name__ == '__main__':
chart = Chart(inner_width=0.5, inner_height=0.5)
chart2 = chart.create_subchart(position='right', width=0.5, height=0.5)
chart3 = chart.create_subchart(position='left', width=0.5, height=0.5)
chart4 = chart.create_subchart(position='right', width=0.5, height=0.5)
chart.watermark('1')
chart2.watermark('2')
chart3.watermark('3')
chart4.watermark('4')
df = pd.read_csv('ohlcv.csv')
chart.set(df)
chart2.set(df)
chart3.set(df)
chart4.set(df)
chart.show(block=True)
```
___
## Synced Line Chart
```python
import pandas as pd
from lightweight_charts import Chart
if __name__ == '__main__':
chart = Chart(inner_width=1, inner_height=0.8)
chart.time_scale(visible=False)
chart2 = chart.create_subchart(width=1, height=0.2, sync=True)
line = chart2.create_line()
df = pd.read_csv('ohlcv.csv')
df2 = pd.read_csv('rsi.csv')
chart.set(df)
line.set(df2)
chart.show(block=True)
```
___
## Grid of 4 with maximize buttons
```python
import pandas as pd
from lightweight_charts import Chart
# ascii symbols
FULLSCREEN = '■'
CLOSE = '×'
def on_max(target_chart):
button = target_chart.topbar['max']
if button.value == CLOSE:
[c.resize(0.5, 0.5) for c in charts]
button.set(FULLSCREEN)
else:
for chart in charts:
width, height = (1, 1) if chart == target_chart else (0, 0)
chart.resize(width, height)
button.set(CLOSE)
if __name__ == '__main__':
main_chart = Chart(inner_width=0.5, inner_height=0.5)
charts = [
main_chart,
main_chart.create_subchart(position='top', width=0.5, height=0.5),
main_chart.create_subchart(position='left', width=0.5, height=0.5),
main_chart.create_subchart(position='right', width=0.5, height=0.5),
]
df = pd.read_csv('examples/1_setting_data/ohlcv.csv')
for i, c in enumerate(charts):
chart_number = str(i+1)
c.watermark(chart_number)
c.topbar.textbox('number', chart_number)
c.topbar.button('max', FULLSCREEN, False, align='right', func=on_max)
c.set(df)
charts[0].show(block=True)
```