蜡烛图#

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

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