加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

这里有8个流行的Python可视化工具包,你喜欢哪个?

发布时间:2019-04-30 19:09:09 所属栏目:优化 来源:机器之心编译
导读:用 Python 创建图形的方法有很多,但是哪种方法是最好的呢?当我们做可视化之前,要先明确一些关于图像目标的问题:你是想初步了解数据的分布情况?想展示时给人们留下深刻印象?也许你想给某人展示一个内在的形象,一个中庸的形象? 本文将介绍一些常用的 Pyt

Pygal 的名气就不那么大了,和其它常用的绘图包一样,它也是用图形框架语法来构建图像的。由于绘图目标比较简单,因此这是一个相对简单的绘图包。使用 Pygal 非常简单:

  • 实例化图片;
  • 用图片目标属性格式化;
  • 用 figure.add() 将数据添加到图片中。

我在使用 Pygal 的过程中遇到的主要问题在于图片渲染。必须要用 render_to_file 选项,然后在 web 浏览器中打开文件,才能看见我刚刚构建的东西。

最终看来这是值得的,因为图片是交互式的,有令人满意而且便于自定义的美化功能。总而言之,这个包看起来不错,但在文件的创建和渲染部分比较麻烦。

Networkx

虽然 Networkx 是基于 matplotlib 的,但它仍是图形分析和可视化的绝佳解决方案。图形和网络不是我的专业领域,但 Networkx 可以快速简便地用图形表示网络之间的连接。以下是我针对一个简单图形构建的不同的表示,以及一些从斯坦福 SNAP 下载的代码(关于绘制小型 Facebook 网络)。

我按编号(1~10)用颜色编码了每个节点,代码如下:

  1. options = { 
  2.     'node_color' : range(len(G)), 
  3.     'node_size' : 300, 
  4.     'width' : 1, 
  5.     'with_labels' : False, 
  6.     'cmap' : plt.cm.coolwarm 
  7. nx.draw(G, **options) 

用于可视化上面提到的稀疏 Facebook 图形的代码如下:

  1. import itertools 
  2. import networkx as nx 
  3. import matplotlib.pyplot as plt 
  4.  
  5. f = open('data/facebook/1684.circles', 'r') 
  6. circles = [line.split() for line in f] 
  7. f.close() 
  8.  
  9. network = [] 
  10. for circ in circles: 
  11.     cleaned = [int(val) for val in circ[1:]] 
  12.     network.append(cleaned) 
  13.  
  14. G = nx.Graph() 
  15. for v in network: 
  16.     G.add_nodes_from(v) 
  17.  
  18. edges = [itertools.combinations(net,2) for net in network] 
  19.  
  20. for edge_group in edges: 
  21.     G.add_edges_from(edge_group) 
  22.  
  23. options = { 
  24.     'node_color' : 'lime', 
  25.     'node_size' : 3, 
  26.     'width' : 1, 
  27.     'with_labels' : False, 
  28. nx.draw(G, **options) 

这个图形非常稀疏,Networkx 通过最大化每个集群的间隔展现了这种稀疏化。

有很多数据可视化的包,但没法说哪个是最好的。希望阅读本文后,你可以了解到在不同的情境下,该如何使用不同的美化工具和代码。

原文链接:

https://towardsdatascience.com/reviewing-python-visualization-packages-fa7fe12e622b

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读