用途:这是位于绘图库之上的设计层技能,帮助在分析、基础设施监控和机器学习场景中构建有效的图表、仪表盘与报告。核心原则是把图表类型匹配到数据关系,把关键数值编码在位置或长度等感知准确的通道上,避免失真并保证可访问性。
主要能力:按数据关系给出图表选择建议,例如跨类别比较用排序后的水平条形或点图,部分与整体用堆叠条形或树图(饼图仅限不超过约5个切片),分布用直方图、箱线图、小提琴图或ECDF,双变量关系用散点加趋势线或二维密度/六边形分箱,时间趋势用折线,排名用有序条形或棒棒糖图,绩效对比目标用子弹图,地理数据用归一化分级统计图。同时给出感知准确性排序(位置>长度>角度/面积>颜色),强调条形图必须从0开始、避免截断纵轴和双纵轴造成的虚假相关,追求失真系数接近1,并减少图表垃圾。
颜色与无障碍:连续色用viridis/cividis,发散色用RdBu/coolwarm并把中性点设在有意义的零点,分类色用Okabe–Ito或ColorBrewer Set2且不超过约8种;不能只靠色相传达含义,需加形状、线型或直接标注等冗余编码;文本对比度达4.5:1,图形达3:1,并提供替代文本和数据表回退。
数据量与库选型:密集散点用六边形分箱、二维密度、透明度或抽样;高基数类别取前N加“其他”;时间序列按显示分辨率聚合(如LTTB),延迟展示p50/p95/p99而非仅均值,缺失数据留空而非插值;跨数量级数据可用对数刻度并明确标注。标准统计图可选Vega-Lite、Plotly、Seaborn,定制或新颖交互可视化用D3或Observable Plot,运维时序仪表盘用Grafana。
仪表盘设计:重要内容放左上,先给4–6个KPI(值、趋势、目标或基线),细节下置并支持下钻;各面板坐标轴、颜色含义和单位保持一致;每个数字都要有基线、目标或上期对比。分析类需日期范围、筛选和导出;监控类需阈值带、百分位和30–60秒自动刷新;机器学习类需训练与验证曲线、归一化混淆矩阵和特征重要性条形图。
限制与注意事项:饼图百分比不合计为100或含负值时无意义;彩虹/jet色图会制造虚假结构,禁止用于定量编码;跨组平均百分位或比率可能因辛普森悖论误导,应先聚合原始计数再计算比率;matplotlib中pandas的freq="M"已弃用,应改用"ME";Seaborn样式名需带版本,如plt.style.use("seaborn-v0_8-whitegrid")。发布前应核对图表类型、编码通道、坐标轴起点、配色无障碍、数据聚合与加载性能等清单项。