美文网首页
Datapane 007 - 报告 - 布局与自定义

Datapane 007 - 报告 - 布局与自定义

作者: 呆鸟的简书 | 来源:发表于2020-11-13 14:24 被阅读0次

虽然,数据分析是按一系列步骤执行的,但以一步步的形式展示分析结果却不是什么好方法 -- 对于习惯了仪表盘或 BI 工具的用户,这种从上到下的直筒式操作的用户体验就更差了。Datapane 可以实现更灵活的栅格式布局,无需 HTML 与 CSS 就可以创建自定义界面。

创建栅格

PlotTable 等组件传给报告时,这些组件默认以一列一行一个组件的形式布局。如需自定义行、列数量,要用 Datapane 的 Blocks 组件接收组件列表与行、列数量,实现栅格式布局。

这里沿用上文中的示例,但这次并列摆放可视图与数据集。调用 Blocks,就可以指定列数。

# simple_report.py

import pandas as pd
import altair as alt
import datapane as dp

dataset = pd.read_csv('https://covid.ourworldindata.org/data/owid-covid-data.csv')
df = dataset.groupby(['continent', 'date'])['new_cases_smoothed_per_million'].mean().reset_index()

plot = alt.Chart(df).mark_area(opacity=0.4, stroke='black').encode(
    x='date:T',
    y=alt.Y('new_cases_smoothed_per_million:Q', stack=None),
    color=alt.Color('continent:N', scale=alt.Scale(scheme='set1')),
    tooltip='continent:N'
).interactive().properties(width='container')

dp.Report(
    dp.Blocks(
        dp.Plot(plot), 
        dp.Table(df),
        columns=2
    )
).publish(name='covid_report', open=True)

Blocks 是组件,可以再次组合,创建更加自定义的嵌套模块(block)。

自定义宽度

报告版式默认为纵向。大多数报告这么显示都没问题,但如果报告由多列模块组成,纵向显示就不理想了。Report 对象的 full_width 属性值设置为 True时,可调整报告的宽度。这项功能可以创建下图所示的仪表盘式布局:

下一节,介绍 Datapane 团队版。

相关文章

网友评论

      本文标题:Datapane 007 - 报告 - 布局与自定义

      本文链接:https://www.haomeiwen.com/subject/ohmupktx.html