Jupyter notebook Altair条形图基于dataframe列指定特定颜色

Jupyter notebook Altair条形图基于dataframe列指定特定颜色,jupyter-notebook,altair,Jupyter Notebook,Altair,我正在使用Altair在Jupyter笔记本中制作甘特图,如前所述 如何为每个任务指定特定的条形图颜色?谢谢你的帮助 安装了熊猫、牛郎星和织女星。使用Windows 10、Python 3.7.6、Conda 4.6.14 mytaskbars = pd.DataFrame([ {"task": "Task1a", "start": '2020-06-01', "end": '2020-09-30', &qu

我正在使用Altair在Jupyter笔记本中制作甘特图,如前所述

如何为每个任务指定特定的条形图颜色?谢谢你的帮助

安装了熊猫、牛郎星和织女星。使用Windows 10、Python 3.7.6、Conda 4.6.14

mytaskbars = pd.DataFrame([
    {"task": "Task1a", "start": '2020-06-01', "end": '2020-09-30', "color": 'royalblue'},
    {"task": "Task1b", "start": '2020-06-01', "end": '2021-03-31', "color": 'deepskyblue'},
    {"task": "Task1c", "start": '2020-09-30', "end": '2021-03-31', "color": 'dodgerblue'},
    {"task": "Task2", "start": '2020-06-01', "end": '2021-03-31', "color": 'red'},
    {"task": "Task3", "start": '2020-06-01', "end": '2021-08-02', "color": 'orange'},
    {"task": "Task4", "start": '2020-10-01', "end": '2021-03-31', "color": 'green'},
])

mytaskbars["start"] = pd.to_datetime(mytaskbars["start"])
mytaskbars["end"] = pd.to_datetime(mytaskbars["end"])


chart = alt.Chart(mytaskbars).mark_bar(opacity=0.7).encode(
    x=alt.X('start', axis=alt.Axis(title='Date', labelAngle=-45, format = ("%b %Y"))),
    x2 = 'end',
    y=alt.Y('task', axis=alt.Axis(title=None)),
    color = 'color'
)

chart

添加

color=alt.color('color:N',scale=None)
成功了吗


见,谢谢!
:N
是什么意思?我在文档中看到了它的版本(
:O
:Q
,等等),但不知何故我忽略了它的含义。问得好!
:N
是编码数据类型的简写,在本例中为标称。一般来说,最好将它们包括在内。有关更多信息,请参阅