算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
creating-box-plot-insights【设计与创意】Creates product analytics or SQL-backed box plot insights in PostHog. Use when a user asks to create, build, or save a box plot, visualize a numeric distribution, compare quartiles or medians across dates or groups, or turn SQL results into a box plot. Chooses between a standard Trends box plot and a SQL insight, validates the distribution data, save…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Box plots need distribution data, not an already-aggregated average or total. Choose the simplest query type that can express the user's question.
Use a standard product analytics box plot when all of these are true:
Use a SQL box plot when the user needs custom grouping, joins, derived values, or bespoke SQL. Read querying-posthog-data before writing HogQL, then use references/sql-examples.md as a starting point.
Do not use SQL only to reproduce a standard Trends query.
InsightVizNode whose source is a TrendsQuery:
math_property to the numeric property.trendsFilter.display to BoxPlot.posthog:query-trends.posthog:insight-create.posthog:insight-get and confirm the property, interval, and display.A box plot without a numeric math_property is invalid. Do not substitute event counts unless counts are the values the user wants to distribute.
The SQL must return one pre-aggregated row for each X-axis and series pair. Calculate the summary in the database. Never calculate percentiles from the limited result rows in the client.
Required numeric roles:
The easiest result shape uses these aliases:
x, series, min, p25, median, mean, p75, max
x and series are optional:
xAxisColumn to null for one overall distribution or one box per series.seriesColumn to null for one series.Validate the HogQL with posthog:execute-sql before saving. Check that:
min <= p25 <= median <= p75 <= max for every row.Then save this shape with posthog:insight-create:
{
"query": {
"kind": "DataVisualizationNode",
"source": {
"kind": "HogQLQuery",
"query": "<validated HogQL>"
},
"display": "BoxPlot",
"chartSettings": {
"boxPlot": {
"xAxisColumn": "x",
"seriesColumn": "series",
"minColumn": "min",
"p25Column": "p25",
"medianColumn": "median",
"meanColumn": "mean",
"p75Column": "p75",
"maxColumn": "max",
"excludeOutliers": true
}
}
}
}
Use the actual aliases when the query uses different names. Do not map the six statistics as six Y-axis series.
posthog:insight-get.posthog:insight-query.If an individual row has a missing or invalid summary, PostHog omits that box while keeping valid boxes visible. Fix the SQL when omitted boxes are not expected.
querying-posthog-data - required before authoring or changing the HogQL for a SQL box plot.formatting-insight-axes - use when the value axis needs currency, duration, percentage, or other formatting.building-a-dashboard - use when the box plot should be placed with other insights on a dashboard.