mcpField
V
visualizing-change-over-time

visualizing-change-over-time

github.com/posthog设计与 UI40.5k134 次安装今天更新
代码仓库

关于 visualizing-change-over-time

为使用 @posthog/quill-charts 构建图表的开发者提供按变化形态选择图表的技能指南,涵盖趋势、斜率图、柱状图和指标卡。还说明了组件与 PostHog 趋势洞察中的斜率图用法。

主要功能

  1. 01按变化形态选择图表
  2. 02使用 SlopeChart 比较前后变化
  3. 03配置斜率图标签与图例
  4. 04区分组件和洞察展示类型
  5. 05通过 API 创建斜率图洞察

适用场景

  1. 01比较多个类别的前后快照
  2. 02展示连续时间序列趋势
  3. 03呈现单个指标及其期间变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/posthog/posthog --skill visualizing-change-over-time

安装后在 Claude Code 中输入/visualizing-change-over-time确认已加载。

详细介绍

可视化随时间变化

当请求涉及某事物如何变化时,默认的选取是折线/面积趋势图——对于具有许多 x 点的连续序列,这通常是对的。但对于某些随时间变化的形态,其他图表读起来要好得多。本技能提供了可选的菜单,包括斜率图,用于在使用 @posthog/quill-charts 构建可视化时使用。

呈现合适的选项并让用户选择——这些都不是强制性的。

按变化的形态选择

变化是…选择原因
跨多个时间点的连续序列(趋势)TimeSeriesLineChart / LineChart(面积填充以强调)标准趋势图;每对点之间的斜率都可见。
仅两个点(前 → 后)跨多个序列/类别SlopeChart每个实体从左侧“前”到右侧“后”的一条线——每个实体的变化方向和幅度,以及排名翻转,一目了然。
时间点上的量级比较(而非它们之间的路径)BarChart / TimeSeriesBarChart条形图比较离散值;对子序列进行分组/堆叠。
单个头条数字及其与上一周期的变化MetricCard大数字 + 迷你图 + 变化胶囊。

如果用户比较的正好是两个快照(本周 vs 上周、对照组 vs 实验组、Q1 vs Q2),尤其是当有许多类别且它们的_相对_变动很重要时,建议将斜率图作为分组条形图或 2 点折线图的更清晰替代方案。

使用 SlopeChart

import { SlopeChart } from '@posthog/quill-charts'
import type { Series } from '@posthog/quill-charts'
import type { SlopeSeriesMeta } from '@posthog/quill-charts'

// One series per entity; `data` is exactly [start, end].
const series: Series<SlopeSeriesMeta>[] = [
    { key: 'us', label: 'US', data: [120, 185] },
    { key: 'eu', label: 'EU', data: [200, 150] },
]

<SlopeChart
    series={series}
    labels={['Before', 'After']}
    theme={theme}
    config={{
        showSeriesLabels: true, // name beside each end point; steepest line always keeps its label
        legend: { show: true }, // each row shows the color, label, and the formatted change
        deltaFormatter: (d) => `${d >= 0 ? '+' : ''}${d}`,
    }}
/>

关键选项(完整列表见图表 docs/chart-types.md 的 "SlopeChart" 部分):

  • showStartLabels / showEndLabels — 值标签的图表级默认值; 可按序列用 meta.showStartLabel / meta.showEndLabel 覆盖。
  • showSeriesLabels — 名称标签;发生冲突时,变化最大的序列 (|end − start|)始终保留其标签。
  • legend: { show, position } — 行带有每个序列的变化(deltaFormatter)。
  • 值轴默认隐藏——起始/结束标签就是读数。

主题来自 useChartTheme();给包装容器一个真实的高度。有关主题接线和尺寸设置,请参阅 charts AGENTS.md。

范围说明

渲染斜率图有 两种 方式;选择哪一种取决于使用场景:

  • SlopeChart — @posthog/quill-charts 组件。在直接构建 UI 时使用:仪表盘、报告、mcp_analytics 前端、自定义可视化。它为 Max 的内联趋势结果卡片上的 Slope 视图切换提供支持 (services/mcp/src/ui-apps/components/TrendsVisualizer.tsx)。
  • ChartDisplayType.SlopeGraph — 一等洞察展示类型(frontend/src/types.ts 中的值 'SlopeGraph'),由后端 SlopeGraphTrendsQueryRunner (products/product_analytics/backend/hogql_queries/trends/slope_graph_trends_query_runner.py)渲染。它 接收一个 TrendsQuery,并将日期范围的 第一个和最后一个分桶 保留为 两个斜率点(当最后一个分段是当前仍在累积的周期时,该分段为虚线)。通过 trendsFilter.display: "SlopeGraph" 设置(仅限 trends)。
    • 产品洞察编辑器 包含斜率图选择器条目。
    • 通过 API / posthog:insight-create MCP 工具,传入带有 trendsFilter.display: "SlopeGraph" 的 TrendsQuery。要构建清晰的前后对比,请选择 日期范围和 interval,使第一个分桶作为基线,最后一个分桶为 "now"(例如从基线月份开始的每月分桶)。

评论

支持 Markdown