python 数据可视化的一些小建议

304 阅读3分钟

python 数据可视化的一些小建议

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

准备工作

  1. 准备好你需要可视化的数据
  2. 安装好以下依赖库:matplotlibseabornpyecharts
pip install matplotlib
pip install seaborn
pip install pyecharts
  1. 必要情况准备好jupyter环境

可视化方法的选择

  1. 明确你的目标 首先要明确你想要从一张图中看出什么。就比如你想看各种数据的占比,我们就可以选择饼状图,又比如当你想要拟合一些数据时,你需要先用散点图或折线图,看出大概趋势再想用什么函数拟合。

  2. 明确应用场景 应用场景一般情况下在我看来其实就三种,第一种是你自己看,第二种是你的论文,还有一种是前端中供客户使用。

第一种实质上就是你自己用,所以说你咋方便咋用 (感觉说了个寂寞),这个时候一般我都是用 jupyter,直接把图显示出来,不保存图片。因为反正保存了也得删,然后我就懒得删了,所以倒不如就光看就完了不保存。

第二种,因为论文需要使用文档写,所以说把可视化结果保存成图片会比较方便,所以一般建议直接保存图片。

第三种就是前端客户使用,前端通常是需要渲染 html 的,而且 html 相比图片而言要轻量很多,以及考虑到交互需求,所以一般会渲染成 html。

  1. 细节 以下这些因素都要根据应用场景考虑
  • 颜色 平时就你自己看的话配色丑不丑就不用管了(除非你精神洁癖 23333)论文或是前端的话还是需要用心配色的,当然用pyecharts的话还好,因为里面内置主题也很丰富,但是matplotlibseaborn的话大家也知道,是老外开发的,通常审美都比较独特 23333,所以要是比较正式的场合我建议换个好看的配色(个人强烈安利 Set3,整个配色非常小清新)

在为论文作图时我们还需要注意,尽量使用白色作为背景颜色,因为一般论文背景颜色都是白的,忽然来个其他颜色。。。看起来就非常违和。

  • 文字重叠问题 这个问题一般出现在matplotlibseaborn里比较多,一般我有两种解决方案,一种是万能的tight_layout(),另外一种如果说是 x 轴或 y 轴上的文字重叠的话可以考虑左倾斜或右倾斜一定度数
  • 其他值得关注的细节
  1. 地图的边界问题,需要修改细节
  2. 确定是否需要特殊标记,例如:kmeans 算法聚类后是否需要标出质心、函数图等是否需要标注分界线以及函数图边是否需要标注文本
  3. 图片格式的三维图是否需要添加三视图给自己的论文锦上添花 总而言之,我觉得首先你自己的图首先你自己得先觉得赏心悦目,你都不这么觉得你想想别人怎么看,对吧~