【发布时间】:2021-03-24 17:02:12
【问题描述】:
我正在将 Altair 图表用于 Python 和 Jupyter Notebooks,但是如果我增加数据点的数量,其中一个(渲染?)组件会崩溃:
import altair as alt
import datetime
import pandas as pd
import random
def add_minutes(tm, minutes_to_add):
fulldate = datetime.datetime(100, 1, 1, tm.hour, tm.minute, tm.second)
fulldate = fulldate + datetime.timedelta(minutes=minutes_to_add)
return fulldate.time()
time_sort_order = []
render_hours = 13
def build_df():
value_list = []
start_time = datetime.time(21, 0, 0)
for n in range(60*render_hours):
time_to_fetch = add_minutes(start_time, 1*n)
time_sort_order.append(str(time_to_fetch))
value_list.append({
"time": str(time_to_fetch),
"value": random.randint(1, 5)
})
return pd.DataFrame(value_list)
df = build_df()
alt.Chart(df).mark_rect().encode(
x=alt.X('time', sort=time_sort_order),
color='value:Q'
)
如果我设置render_hours = 13:
一切正常/渲染正常
如果我设置render_hours = 14:
我得到一个空白输出
如果我设置render_hours = 24:
Javascript Error: too much recursion 这通常意味着有错字 在您的图表规范中。请参阅 javascript 控制台以获取完整信息 追溯。
【问题讨论】: