【发布时间】:2020-01-21 12:23:16
【问题描述】:
[![图表显示没有正确格式的数字][1]][1]
我需要格式化这些条上的标签,以便它们四舍五入到最接近的整数。我有以下代码:
def chart_tender_response_times(dataframe=None):
chart = (
alt.Chart(dataframe, title="Median time to respond to a tender")
.mark_bar()
.encode(
alt.X("year(date):O"
),
alt.Y("mean(median_duration):Q",
## This is our units section, only describe the units of measurement here.
axis=alt.Axis(title="Unit: days.")
),
alt.Tooltip(["mean(median_duration):Q"], format=",.2r", title="Days to respond to a tender")
)
)
text = (
chart.mark_text(align="center", baseline="bottom")
.encode(text='mean(median_duration):Q')
)
return chart+text
我尝试了以下变体...
text = (
chart.mark_text(align="center", baseline="bottom")
.encode(text='mean(median_duration):Q', format='.,2r')
)
但这会返回以下架构验证错误:
SchemaValidationError: Invalid specification
altair.vegalite.v3.api.Chart, validating 'required'
'data' is a required property
我的直觉是,在将其添加到图表之前,我必须以某种方式调用并格式化该值,但我无法从文档或示例中看到如何执行此操作。
【问题讨论】: