本文分享可视化图表使用陷阱,并提供规避措施!
推荐阅读: 👉《Python可视化教程》,优惠中!
1、合理使用图形配色
毫无意义的颜色
勿滥用渐变色
此时,渐变色太接近,无法识别最有价值数据,建议更换图形,例如bar plot。
一张图颜色超过7种
当分组颜色超过7种时,建议更换图形。
同一变量配色一致
为颜色添加注释
让颜色可交互
颜色对比鲜明
使用直观配色
小值对浅色,大值对深色
分类变量禁用渐变色
使用亮度来构建渐变色,而不仅仅是色调
使用两种色调来构建渐变色
考虑使用发散的渐变色
为色盲读者着想
2、过度绘图
当数据集很大时,散点图的点往往会重叠,乍一看可能会得出 X 和 Y 之间没有明显关系的错误结论,下面提供10种拯救方案:
拯救方案1-减小点的大小
拯救方案2-设置点的透明度
拯救方案3-使用2D密度图
拯救方案4-随机抽样
随机抽取部分点作为代表绘图,
拯救方案5-突出显示一个组
拯救方案6-数据分组
拯救方案7-分面
拯救方案8-抖动图
拯救方案9-3D图
拯救方案10-边界图
3、适时排序
有些情况考虑按组排序会让结果差异一目了然,例如,想使用火柴棒图展示2017年哪个国家出售武器数量最多,按组排序后,可清晰从图中读出美、俄、法三国武器出售数量居前三。
4、坐标轴刻度从非原点出发
上图中,2011、2012、2013三个分组变量很接近,建议Y轴刻度从非0出发,进而凸显差异。
5、拯救面条图
面条图 (Spaghetti plot):在同一张图中展示多组折线图。当分组超过5个时,往往无法区分不同组,如上图,
拯救方法1-使用交互图
拯救方法2-使用分面Area charts
拯救方案3-使用分面交互图
6、糟糕的pie chart
当不同组差异很小时,使用pie chart是非常糟糕的,例如,此时,可考虑使用barplot,或者火柴棒图,
7、为histogram赋予合适的bin
8、揪出boxplot隐藏信息
boxplot可以展示数据的关键指标(如下四分位数、上四分位数、中位数、最大值、最小值、离散点/异常值点)。但是,同时会丢失很多重要信息,这里提供几条boxplot优化策略,
拯救方案1-添加抖动点(jitter)
如果正在处理的数据量不是太大,在箱线图顶部添加抖动可以使图形更具洞察力。
拯救方案2-小提琴图替代
如果您的样本量很大,则不再可以选择使用抖动,因为点会重叠,从而使图形无法解释。另一种选择是小提琴图,它描述了每组数据的分布。
拯救方案3-小提琴图+散点图
9、合理使用error bar指标
三种不同类型的指标值常用于error bar计算,需要因地制宜选取:
Standard Deviation (标准差) Standard Error (标准误差) Confidence Interval (置信区间)
使用不同指标得出的error bar差异较大,
10、杂乱的直方图或密度图
数据分组太多时,直方图或密度图显得太杂乱了,无法区分组:同一张图上表示的分布太多了。如何避免这种情况?
拯救方案1-boxplot+抖动点
拯救方案2-小提琴图
拯救方案3-山峦图
拯救方案4-分面图
11、不要反直觉
比如颠倒坐标轴,
配色欺骗,下图其实想突出白色部分,结果将59%突出显示,容易造成误解,
12、妙用双坐标轴
使用场景1-两个变量具有相同度量,幅度不同
使用场景2-两个变量显示某物的相对值和绝对值
使用场景3-两个完全不同的变量
使用场景4-一个变量不同指标
但是,双坐标轴也存在误导读者的问题,
拯救方案1-并排图表
拯救方案2-索引图表
拯救方案3-优先级、标签
拯救方案4-连通散点图
13、数据处理错误
14、慎用极坐标bar图
极坐标bar图的好处是它非常引人注目。但是,由于条形图绘制在极轴的不同径向点上,因此它们具有不同的半径,无法通过长度进行比较。即使数值相同,外部的bar也会比内部的bar更长。建议使用标准条形图或棒棒糖图替代,
15、折线图代替散点图
以上散点往往看不出数据趋势,当换做折线时,趋势明显,
16、 防止坐标轴标签覆盖
-END- 推荐阅读:
10W字《R ggplot2可视化教程1.0》来了! 详解Python列表推导式|迭代器|匿名函数 Jupyter Notebook的16个超棒插件! 临床WGS/WES/Gene Panel异同 一图胜千言,超形象图解NumPy教程! 那些神经网络可视化利器
👇交流合作
赞、在看 就是最大的支持