蜡烛图#

一个受 Protovis 启发的蜡烛图。这个示例展示了芝加哥期权交易所 波动率指数 (VIX) 在2009年夏季的表现。粗条表示开盘价和收盘价,而细条表示盘中最高价和最低价;如果在某一天指数收盘价上涨,则条形显示为绿色而非红色。

import altair as alt
from vega_datasets import data

source = data.ohlc()

open_close_color = (
    alt.when("datum.open <= datum.close")
    .then(alt.value("#06982d"))
    .otherwise(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
import altair as alt
from vega_datasets import data

source = data.ohlc()

open_close_color = (
    alt.when("datum.open <= datum.close")
    .then(alt.value("#06982d"))
    .otherwise(alt.value("#ae1325"))
)

base = alt.Chart(source).encode(
    alt.X('date:T',
          axis=alt.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=alt.Scale(zero=False),
    ),
    alt.Y2('high:Q')
)

bar = base.mark_bar().encode(
    alt.Y('open:Q'),
    alt.Y2('close:Q')
)

rule + bar