![f849e7ce88f914285555db011f1f8c8e.png](https://i-blog.csdnimg.cn/blog_migrate/8ebe6bb74191e48f9fe7134c17f5cbc3.jpeg)
作为Python用户,在进行数据可视化时可能用到的工具包括:matplotlib,seaborn,plotly,Vega-Lite以及Altair。其中Vega-Lite是基于JSON进行图形表达的独立语言标准,其余均为Python内的软件包。
matplotlib
这是Python中最基础也是最重要的作图软件包,为许多其他作图软件树立了标杆,实际上也提供了一种描述图形的语言。
下面是matplotlib官方示例中绘制PSD(Power Spectral Density)的示例代码:
import
绘制出的图像如下:
![125a534d5d9e40cb17ed819f22a1baac.png](https://i-blog.csdnimg.cn/blog_migrate/2f6f2b50dbedd9909f4bcdf5709f010c.png)
seaborn
seaborn 在 matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷,且图形风格更“好看”。
很多图形,如果用matplotlib作图,需要声明坐标轴、重叠关系等细节事项,而使用seaborn常只需要应用默认的设置即可。
以下是seaborn绘制调色图的示例:
import
图片如下:
![92bedbae9e7d9f2c3ada880247f03246.png](https://i-blog.csdnimg.cn/blog_migrate/248f5556983eed085ee53865230005fc.jpeg)
笔者也常用它画热力图:
import
效果如下:
![dfa8509f318fb3521ea6148410c8ba27.png](https://i-blog.csdnimg.cn/blog_migrate/4aa9727335710bd2134ef900aeb34d89.jpeg)
plotly
plotly的定位是图形库,在绘制复杂图形时缺少了matplotlib那样的准确表达能力。
plotly的优点包括且不限于:
- 可生成可交互图形和动画效果
- 其地图绘制功能可用性较强
- 生成的3D图形比较好看
不过它的麻烦之处在于,由于生成的是交互图形,一般需要在Jupyter Notebook中打开。
从官网撸下来一个地图绘图代码如下:
from
图片效果如下:
![a8a07412c01837eb04e0add3ca5ecd00.png](https://i-blog.csdnimg.cn/blog_migrate/69c5490ac8efcab6ffcfefea5cc89673.jpeg)
3D作图的示例如下:
import
效果如下:
![5499d4df8a9903de44c3eddbc929b511.png](https://i-blog.csdnimg.cn/blog_migrate/48a1438080656114dd6f228b74f1e2c4.png)
Vega-Lite和Altair
Vega是基于JSON语言的一套可交互图形描述及生成软件,Vega-Lite则是基于Vega进行的进一步语法封装。
Vega生成的图片示例:
![65002f9d039b64edad5973d14f62427a.png](https://i-blog.csdnimg.cn/blog_migrate/b2da8b12756bb2f57f1e549ea29d9c2f.png)
由于Vega使用了独立的软件,故在Python中使用需要调用封装好的接口,即Altair。以上图片在Altair中实现的代码如下:
import
由于同样是交互图形,所以Altair也要在Jupyter Notebook中调用。
其他软件包也很有趣
比方说,笔者在网络上发现了一个手绘风格的可视化包——cutecharts。
它生成的图片是这个样子:
![78994c11a726dc61b32417ce2ce2f2ad.png](https://i-blog.csdnimg.cn/blog_migrate/3181782d4a564ba76599379ed8c1bed1.jpeg)
好Q~