6个优秀可视化Python库

对使用哪个可视化工具感到困惑? 我为您分解了每个库的优缺点

6个优秀可视化Python库

 

动机

如果您刚开始使用Python可视化,可能会不知所措的库和示例数量众多:

  • Matplotlib
  • Seaborn
  • Plotly
  • Bokeh
  • Altair
  • Folium

6个优秀可视化Python库

 

  •  

如果您有一个等待可视化的DataFrame,应该选择哪一个? 在某些情况下,某些库可能比其他库更好。 本文将展示每种方法的优缺点。 到本文结尾,您应该能够区分每个库的不同功能,并可以更轻松地选择优秀库。

我们将通过使用样本数据集并使用每个库对其进行研究,着重于一些特定的属性:

互动性

您是否希望可视化是交互式的?

一些库(例如Matplotlib)将可视化效果呈现为图像。 因此,它们非常适合于解释概念(在纸质,幻灯片或演示文稿中)。

另一方面,像Altair,Bokeh和Plotly这样的库可让您创建交互式图形,以便用户可以深入并自己探索

语法和灵活性

每个库的语法有何不同? Matplotlib等较低级的库使您可以做想想得到的一切,但要付出更复杂的API的代价。 诸如Altair之类的某些库是非常声明性的,这使映射到您的数据更加容易。

数据类型和可视化

您是在处理特殊的用例,例如地理图,具有大数据还是使用仅由特定库支持的图类型?

数据

为了便于比较,我将使用本文从Github抓取的真实数据:

我爬取了超过1k的优秀机器学习Github配置文件,这就是我发现的

从Github上的优秀机器学习资料中获取见解

或从Datapane Blob获取直接数据。

import datapane as dp 
 
dp.Blob.get(name='github_data', owner='khuyentran1401').download_df() 

如果要使用Blob,请记住预先使用令牌登录Datapane。 此过程应少于1分钟

Matplotlib

Matplotlib可能是最常见的用于可视化数据的Python库。 每个对数据科学感兴趣的人都可能至少使用过Matplotlib。

优点

1.容易看到数据的属性

分析数据时,快速查看分布可能是理想的。

例如,如果我想快速了解关注者最多的前100个用户的分布,通常使用Matplotlib就足够了。

import matplotlib.pyplot as plt 
 
top_followers = new_profile.sort_values(by='followers', axis=0, ascending=False)[:100] 
 
fig = plt.figure() 
 
plt.bar(top_followers.user_name, 
       top_followers.followers) 

即使Matplotlib的x轴看起来不太好,通过查看图表,我们也可以更好地理解数据的分布。

6个优秀可视化Python库

 

2.可以画任何东西

Matplotlib具有多种用途,这意味着它可以绘制您可以想象的任何图形。 Matplotlib的网站上包含非常全面的文档和图库中的各种图形,这使您可以轻松找到任何您能想到的疯狂情节的教程。

像这样的一些文字:

fig = plt.figure() 
 
plt.text(0.6, 0.7, "learning", size=40, rotation=20., 
         ha="center", va="center", 
         bbox=dict(boxstyle="round", 
                   ec=(1., 0.5, 0.5), 
                   fc=(1., 0.8, 0.8), 
                   ) 
         ) 
 
plt.text(0.55, 0.6, "machine", size=40, rotation=-25., 
         ha="right", va="top", 
         bbox=dict(boxstyle="square", 
                   ec=(1., 0.5, 0.5), 
                   fc=(1., 0.8, 0.8), 
                   ) 
         ) 
 
plt.show() 

6个优秀可视化Python库

 

缺点

Matplotlib可以绘制任何内容,但绘制非基本图或调整图的外观可能会很复杂。

correlation = new_profile.corr() 
 
fig, ax = plt.subplots() 
im = plt.imshow(correlation) 
 
ax.set_xticklabels(correlation.columns) 
ax.set_yticklabels(correlation.columns) 
 
plt.setp(ax.get_xticklabels(), rotation=45, ha="right", 
         rotation_mode=
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值