首页 > 解决方案 > Altair 挂在这张图表上?

问题描述

我有一个包含以下内容的简单 csv:

Pattern, Mode, Bandwidth
Random, Read, 23.988
Random, Write, 30.628
Seq, Read, 38.000
Seq, Write, 33.785

我想制作一个与此类似的分组条形图:

import altair as alt
import pandas as pd
df = pd.read_csv("simple.csv")
alt.Chart(df).mark_bar().encode(
    x='Bandwidth:Q',
    y='Mode:N',
    row='Pattern:N'
)

只是挂起 altair(我必须终止 jupyter notebook 的会话才能摆脱它)。也就是说,如果我手动输入数据:pd.DataFrame([ ], [], columns = []. 相同的绘图命令似乎部分有效。

标签: altair

解决方案


看起来您的 CSV 文件中有空格,因此列名不是'Mode'and 'Bandwidth',而是' Mode'and ' Bandwidth'(带有前导空格)。

最好的解决方法是从 CSV 文件中删除空格。如果这是不可能的,那么在 pandas 中,您可以将skipinitialspace=True参数传递pd.read_csv给以在将数据读入数据帧时去除这些空格。


推荐阅读