Альтаир: использование цветовой схемы с бревнами - PullRequest
0 голосов
/ 20 октября 2018

Я новичок в Altair и пытаюсь составить тепловую карту со шкалой журнала для цвета, а также выбрать цветовую схему не по умолчанию (схема по умолчанию использует очень мало экстентов, а также я хочу, чтобы свет-темные цвета).Я обнаружил, что могу легко получить масштаб журнала с помощью type=log, но после этого параметр scheme= игнорируется.Если я вместо этого вручную установлю верхний и нижний цвета с помощью range=, это прекрасно работает.

Я также обнаружил, что если я явно установлю type= любым способом, даже явно установив type='linear', который являетсяпо умолчанию scheme= игнорируется.Это ошибка?Если нет, то как я могу понять использование цветовых схем таким образом, чтобы это имело смысл?Если я не могу напрямую использовать схему, как я могу проверить схему и извлечь ее значения цвета для повторного использования?

Вот несколько примеров:

import numpy as np
import pandas as pd
import altair as alt

# This question is about Altair - plotnine is only here for the example data
from plotnine.data import diamonds

# This works, and gives me the greenblue color scheme:
alt.Chart(diamonds).mark_rect().encode(
    x=alt.X('carat',bin=True),
    y=alt.Y('price',bin=True),
    color=alt.Color('count()',scale=alt.Scale(scheme='greenblue'))
)

# This gives me a log scale, but now the greenblue scheme is gone:
alt.Chart(diamonds).mark_rect().encode(
    x=alt.X('carat',bin=True),
    y=alt.Y('price',bin=True),
    color=alt.Color('count()',scale=alt.Scale(type='log',scheme='greenblue'))
)

# Direct specification of range works, but it is not exactly the same
# colors as greenblue.  If this is the only way to do it, how do I open
# up the greenblue scheme and grab its colors?
alt.Chart(diamonds).mark_rect().encode(
    x=alt.X('carat',bin=True),
    y=alt.Y('price',bin=True),
    color=alt.Color('count()',scale=alt.Scale(type='log',range=['palegreen','blue']))
)
...