案例七:绘制沉降时程曲线
案例概述
本案例从 GDIM 读取累计沉降数据表,按所选监测点编号筛选记录,并将『沉降 - 时间』绘制为折线图进行展示。
你将学到
将 GDIM 中的沉降监测数据接入 PipeLine,按顺序连接『读取表数据、条件筛选、绘折线图』,生成可在 GDIM 上运行的 .pipe 应用。
用
GdimTableReader的table_fields读取累计沉降数据表。用
TablesQuery与TemplateVariableConfig实现沉降点编号多选过滤。用
LineChartPlotter的color_column按code_number分色绘制多条曲线。进行相关设置并配置为 GDIM 应用。
实现思路
创建
PipeLine,设置工作空间、登陆信息等。创建
GdimTableReader,读取cumulative_settlement_data_table中的code_number、settlement、time。创建
TablesQuery进行沉降点编号多选过滤。创建
LineChartPlotter,以time为横轴、settlement为纵轴,用color_column="code_number"区分各监测点曲线。连接各个模块并进行其它设置。
关键代码
本例关键在于多选筛选监测点并按编号分色绘制折线图,对应代码如下。
query = TablesQuery("FilterPoints")
query.query_template = "`code_number` in {tpl_point_ids}"
query.template_variables = {
"tpl_point_ids": TemplateVariableConfig(
title="沉降点编号",
value_type="list[str]",
schema_type="auto_select",
min_items=1,
)
}
plot = LineChartPlotter("PlotLine")
plot.x_column = "time"
plot.y_columns = "settlement"
plot.color_column = "code_number"
plot.generate_plot_data = True
pipeline.add_links(
reader.OutputTable >> query.InputTables
| query.OutputTables >> plot.InputData
)
pipeline.run()
更进一步
完整代码请查看以下链接: