在 Altair 中控制箱宽度
Controlling Bin Widths in 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 中控制 bin 的大小和范围?
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
,没有进一步修改。
感谢任何指点:)
如 Bin transforms section of the documentation, you can pass an 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()',
)
我有一组数字要绘制在直方图上。
说:
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 中控制 bin 的大小和范围?
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
,没有进一步修改。
感谢任何指点:)
如 Bin transforms section of the documentation, you can pass an 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()',
)