在Altair中控制箱宽度

时间:2019-02-28 04:55:10

标签: python histogram visualization altair

我有一组要绘制在直方图上的数字。

说:

import numpy as np
import matplotlib.pyplot as plt

my_numbers = np.random.normal(size = 1000)
plt.hist(my_numbers)

如果我想控制垃圾箱的大小和范围,可以这样做:

plt.hist(my_numbers, bins=np.arange(-4,4.5,0.5))

现在,如果我想在Altair中绘制直方图,下面的代码就可以了,但是如何控制Altair中垃圾箱的大小和范围?

import pandas as pd
import altair as alt

my_numbers_df = pd.DataFrame.from_dict({'Integers': my_numbers})

alt.Chart(my_numbers_df).mark_bar().encode(
    alt.X("Integers", bin = True),
    y = 'count()',
)

我已经搜索过Altair的文档,但是他们的所有解释和示例图表(我可以找到)只是说bin = True,没有做进一步修改。

欣赏所有指针:)

1 个答案:

答案 0 :(得分:2)

如文档的Bin transforms部分所述,您可以传递一个alt.Bin()实例来微调合并参数。

与matplotlib直方图等效的是这样的

alt.Chart(my_numbers_df).mark_bar().encode(
    alt.X("Integers", bin=alt.Bin(extent=[-4, 4], step=0.5)),
    y='count()',
)

enter image description here