介绍

在Python世界中,有大量数据可视化的选项.因为各种各样,要知道什么时候使用哪个是非常困难的.本文包含一些较为流行的样例,并说明如果使用其创建简单的条形图.我会使用以下包/工具创建绘图例子:

Pandas

Seaborn

ggplot

Bokeh

pygal

Plotly

在例子用,我将使用pandas操作数据,并启动其可视化.在大多数情况下使用这些工具不需要pandas,但是我觉得pandas+可视化工具如此普遍,这是最好的起点。

Matplotlib怎么样?

Matplotlib 是python可视化库的祖父.它非常强大,但是太过复杂.你可以使用Matplotlib 做任何你需要做到的事情,但是并不容易弄明白.我不打算通过纯Matplotlib 样例讲解,因为许多工具(尤其Pandas和Seaborn)是Matplotlib的thin wrappers.

对Matplotlib最大的抱怨是需要大量工作的到期望的图表.在处理这些例子时,我发现更容易获得优美的图形,不需要大量大代码.对于matplotlib冗余性的一个小例子,看一下这个ggplot后例子。

方法

我相信,只要人们开始阅读这一点,他们会指出更好的方式来使用这些工具。我的目标不是建立在每个例子完全相同的图形.我想在搜索解决方案大致相同的时间以大致相同的方式可视化数据.

按这个过程,最大的挑战是格式化x和y轴,使得在给定一些大标签时数据看起来合理.也许花一些时间弄清楚每个工具希望数据如何格式化.一旦弄明白这些部分,剩下的部分比较简单的.

另外一个需要考虑的电视,条形图可能是制作图标类型最简单的一种.这些工具让你能够绘制更多类型的图标.我的示例更注重于易格式化性而不是创新可视化例子,因为标签,一些图表占用了很大空间,所以我削减了,只是为了保证文章的长度管理.最后我调整了图像,因此任何模糊是缩放问题,并且不是实际输出质量.

最后,我接近使用其他工具替换Excel的心态.我认为我的例子更能说明报告,演讲,邮件或者静态网页中的展示.如果你评估实时数据可视化或者通过其他机制共享的工具,那么部分工具提供了很多我没有提到的功能.

数据集

在上篇文章中介绍了我们将要处理的数据.数据集中包含125行项目,但我选择关注前10以保证简单点.你可以在这找到完整的数据.

Pandas

我使用pandas DataFrame作为所有各种图标的出发点.幸运的是,pandas为我们提供了内置的matplotlib层绘图能力.将使用它作为基准.首先,导入模块,并将数据读入DataFrame.我们希望对数据进行排序,并限制为前10项.

budget = pd.read_csv("mn-budget-detail-2014.csv")

budget = budget.sort('amount',ascending=False)[:10]

对所有例子我们使用同样的budget.以下是前5项目样子:

现在,设置展示使用更好的默认值,并创建一个条形图:

pd.options.display.mpl_style = 'default'

budget_plot = budget.plot(kind="bar",x=budget["detail"],

title="MN Capital Budget - 2014",

legend=False)

使用detail列创建图标同时展示标题并区属图例.这是将图片存为png的额外代码.

fig = budget_plot.get_figure()

fig.savefig("2014-mn-capital-budget.png")

这是图片样子(阶段是为了文章长度管理).

看起来基本不错.理想情况下,我想多做一些y轴的格式化,但需要matplotlib 的处理.这是个完美有用的可视化,但是不能通过pandas做更多纯粹的定制.

Seaborn

Seaborn是一个基于matplotlib的可视化库.旨在让默认的数据可视化更加悦目.同时让复杂的图表更简单的创建.它和pandas集成.我的例子不允许Seaborn 显著差异.我喜欢Seaborn 的一个原因是各种各样的内置样式,让你快速更改调色板以看起来更加漂亮.因此,关于简单的图表Seaborn没有为我们做很多. 标准导入并读入数据:

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

budget = pd.read_csv("mn-budget-detail-2014.csv")

budget = budget.sort('amount',ascending=False)[:>10]

使用x_order对x轴项目排序.这部分代码设置排序,图表风格和条形图颜色:

sns.set_style("darkgrid")

bar_plot = sns.barplot(x=budget["detail"],y=budget["amount"],

palette="muted",

x_order=budget["detail"].tolist())

plt.xticks(rotation=>90)

plt.show()

如你所见,为了阅读我不得不使用matplotlib旋转x轴标题.从外观上来看,显示非常不错.理想情况下,我想格式化y轴刻度,但是在不引入matplotlib的plt.yticks的情况下,我不知道如果做到这一点.

ggplot

(责任编辑:ioter)

在线可视化python网站_Python的可视化工具概述相关推荐

  1. 在线编程Python网站,亲测好用

    在线编程Python网站,亲测好用!!! 可能网站有点慢,但是非常好用https://www.onlinegdb.com/online_python_interpreter 在线编程Python网站, ...

  2. python数据可视化的特点_Python数据可视化, 看这一篇就够了

    开个玩笑了,其实可视化想做深入,只看这一篇,必然是不够的了~ 入个门估计差不多可以的. 为什么写这一篇呢?算是继续上一篇最嗨的歌最快的车:Data Fountain光伏发电量预测 Top1 开源分享​ ...

  3. python pip scanless 在线端口扫描网站 匿名端口扫描工具 简介

    目录 scanless介绍 scanless安装与使用 scanless支持的在线端口扫描网站 在python中 库的使用方式 scanless介绍 官网地址:github.com/vesche/sc ...

  4. python数据可视化散点图案例_Python数据可视化—散点图_python 数据可视化

    Python数据可视化-散点图 PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了Python中的数据可视化--散点图scatter, 令x作为 ...

  5. python卸载_Python包管理工具pip - amanlikethis

    一.pip概述 包 python包,可以使我们利用网络上现成的代码库资源,解决程序中某一方面的问题,类似于C语言的各种库. PyPi(Python Package Index ,包索引)   是 Py ...

  6. 在线可视化python网站_利用Python优雅地可视化数据

    作者:刘潇龙 最近看<机器学习系统设计>...前两章.学到了一些用 Matplotlib 进行数据可视化的方法.在这里整理一下. 声明:由于本文的代码大部分是参考书中的例子,所以不提供完整 ...

  7. 如何把python可视化到前端_python数据可视化的效果如何在web页面中展示_北京可视化股票...

    有什么APP可以展示可视化的任务进度 可视化任务进度软件,使用敬业签,具体可视有事项开始时间,进度及人.还有结束时间以及人员处理速等等,更多功能如下: 1.敬业签是一款功能比较全面的桌面便签软件,分为 ...

  8. python 条形图_Python数据可视化:基于matplotlib绘制「堆积条形图」

    简介 堆积条形图作为条形图的一种,能够显示单个项目与整体之间的关系.不仅可以直观的看出每个系列的值,还能够反映出系列的总和,尤其是当需要看某一项目的总和以及其组成各系列值的比重时,最适合使用堆积条形图 ...

  9. python数据可视化的特点_Python数据可视化 pyecharts实现各种统计图表过程详解

    1.pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图 ...

最新文章

  1. cmd 查看端口占用情况
  2. new file https 找不到路径_Python3用pathlib模块替代os.path进行文件路径的操作
  3. php2588,搞清楚一下必胜2588z和2582z哪个好点?都有些什么区别?内幕评测分析
  4. 让你的原创设计作品展示给世界|设计师的舞台
  5. python和java哪个好找工作-2019年Python、Java、C++学哪个更好?薪资更高?
  6. ASP.NET对IIS中的虚拟目录进行操作
  7. php 上传图片转base64格式,PHP实现本地图片转base64格式并上传
  8. 细丝菲涅尔衍射MATLAB,工程光学系列之六: 菲涅尔衍射  matlab仿真
  9. matlab保留有效数字指数形式,Matlab中数值计算精度
  10. new一个对象是个什么过程
  11. SMAA算法详解 - SMAALumaEdgeDetectionPS
  12. Promise的使用方法
  13. 京东后台面试(很全面,很符合现在的面试!!)
  14. 1977-2021 高考四十四年,哪一张照片是属于你的记忆(珍贵!)
  15. PTA数据结构与算法-第一章——褚论
  16. 迷你TXT小说阅读器 V2.8 内测3 发布!
  17. 找工作再也不愁之面试技巧全覆盖-这样面试保证拿Offer
  18. python之禅中英版
  19. 经典推荐算法之协同过滤
  20. 互联网电商大厂的分布式事务使用案例

热门文章

  1. python 不等于_python零基础(二)
  2. 正则至少一个数字_JavaScript学习笔记(十七)-- 正则
  3. 4300 字Python列表使用总结,用心!
  4. 用python为喜欢的人写一个程序,每天发送贴心的消息
  5. 牛逼了,用Python攻破wifi密码
  6. 案例三:执行 JavaScript 语句
  7. spring中的单例和多例
  8. 【机器学习技术】高斯过程初探
  9. leetcode —— 1025. 除数博弈
  10. 极大似然估计求解多项式分布参数