-
Notifications
You must be signed in to change notification settings - Fork 766
/
candlestick_chart.py
40 lines (34 loc) · 1.09 KB
/
candlestick_chart.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"""
Candlestick Chart
=================
A candlestick chart inspired from `Protovis <http://mbostock.github.io/protovis/ex/candlestick.html>`_.
This example shows the performance of the Chicago Board Options Exchange `Volatility Index <https://en.wikipedia.org/wiki/VIX>`_ (VIX)
in the summer of 2009. The thick bar represents the opening and closing prices,
while the thin bar shows intraday high and low prices; if the index closed higher on a given day, the bars are colored green rather than red.
"""
# category: advanced calculations
import altair as alt
from vega_datasets import data
source = data.ohlc()
open_close_color = alt.condition(
"datum.open <= datum.close",
alt.value("#06982d"),
alt.value("#ae1325")
)
base = alt.Chart(source).encode(
alt.X('date:T')
.axis(format='%m/%d', labelAngle=-45)
.title('Date in 2009'),
color=open_close_color
)
rule = base.mark_rule().encode(
alt.Y('low:Q')
.title('Price')
.scale(zero=False),
alt.Y2('high:Q')
)
bar = base.mark_bar().encode(
alt.Y('open:Q'),
alt.Y2('close:Q')
)
rule + bar