前言
说明
这一节会简要介绍作者、本书内容、开始学习这本书所需的技能,以及完成本书所有实践活动和练习的硬件和软件需求。
关于本书
大量数据不断生成,迫切需要开发人员能够将数据有效又有趣的可视化呈现。本书将增进你的数据探索能力,可以为使用Python创建交互式数据可视化的学习提供一个非常好的起点。
首先你会学习如何使用非交互式数据可视化库Matplotlib和Seaborn绘制各种图。你将研究不同类型的可视化,对它们进行比较,并了解如何选择一种特定类型的可视化来满足你的需求。对各种非交互式数据可视化库有所了解之后,你将学习创建直观且有说服力的数据可视化的有关原则,并使用Altair、Bokeh和Plotly将你绘制的图转化为吸引人的故事。
学习完这本书,你将会拥有一组新的技能,帮助你成为能够将数据可视化转换为生动有趣故事的热门人才。
关于作者
AbhaBelorkar是计算机科学领域的一位教育工作者和研究人员。她在印度彼拉尼的博拉理工学院获得计算机科学学士学位,并在新加坡国立大学获得博士学位。目前她的研究工作包括开发基于统计学、机器学习和数据可视化技术的方法,从神经退行性疾病的异构基因组数据中获得见解。
SharathChandraGuntuku是自然语言处理和多媒体计算领域的一位研究人员。他在印度彼拉尼的博拉理工学院获得计算机科学学士学位,在新加坡南洋理工大学获得博士学位。他的研究目标是利用大规模的社交媒体图片和文本数据来模拟社会健康水平和心理特征。他使用机器学习、统计分析、自然语言处理和计算机视觉来回答有关个人和社区健康和心理的问题。
ShubhangiHora是一位Python开发人员、人工智能爱好者、数据科学家和作家。她拥有计算机科学和心理学背景,尤其热衷于心理健康相关的人工智能。除此之外,她还对表演艺术感兴趣,是一名训练有素的音乐家。
AnshuKumar是一位数据科学家,在解决自然语言处理和推荐系统中的复杂问题方面有超过5年的经验。他拥有印度理工学院马德拉斯分校计算机科学专业工学硕士学位。他也是SpringBoard项目的导师。他目前的兴趣是为大规模多语言数据集实现语义搜索、文本摘要和内容推荐。
学习目标
学习完这本书,你将掌握以下技能:
? 探索和应用不同的静态和交互式数据可视化技术。
? 高效使用Matplotlib、Seaborn、Altair、Bokeh和Plotly库提供的各种类型的图和特征技术。
? 掌握选择适当的图片参数和风格的方法,创建吸引人的图。
? 选择有意义而且信息量大的方式通过数据讲故事。
? 为特定的场景、上下文和观众定制数据可视化。
? 避免数据可视化中的常见错误和失误。
本书面向的读者
这本书旨在为Python开发人员、数据分析师和数据科学家提供一个坚实的培训基础,使他们能够以最佳的方式把握用户的注意力和想象力,从而最有效地呈现关键的数据见解。这是一个简单的循序渐进的指南,展示了可视化的不同类型和组成元素、有效交互的原则和技术,以及创建交互式数据可视化时要避免的常见陷阱。
学习这本书的人在编写Python代码方面应当有中等水平的能力,并熟悉一些库(如pandas)的使用。
方法
学习交互式数据可视化的资源相当少。现有的资料要么采用Python以外的其他工具(例如,Tableau),要么只强调某一个Python库来实现可视化。这本书首次提供了用Python实现交互式数据可视化的多种选择,是第一本全面介绍这些内容的书。我们的介绍方法很简单,任何熟悉Python的人都能理解。
本书遵循一个引人入胜的教学大纲,将通过一系列实际的案例研究,系统地引导读者学习交互式可视化的各个步骤和各个方面。这本书自始至终提供了大量实战信息,除了编程活动外,还对所用工具的功能和限制补充提供了很有用的提示和建议。
硬件需求
为了获得最佳体验,我们推荐以下硬件配置:
?Intel?? CoreTMi5处理器4300M,2.60GHz或2.59GHz(1个插槽,2个内核,每内核2线程),以及8GBDRAM。
?Intel?? Xeon?? 处理器E5-2698v3,2.30GHz(2个插槽,分别有16个内核,每内核1线程),以及64GBDRAM。
?Intel?? XeonPhiTM处理器7210,1.30GHz(1个插槽,64个内核,每内核4线程),32GBDRAM 和16GBMCDRAM (支持平面模式)。
? 磁盘空间:2~3GB。
? 操作系统:Windows??10、macOS和Linux。
最低系统需求:
? 处理器:IntelAtom?? 处理器或Intel?? CoreTMi3处理器。
? 磁盘空间:1GB。
? 操作系统:Windows7或以上版本、macOS和Linux。
软件需求
我们还建议提前安装以下软件:
? 浏览器:GoogleChrome或MozillaFirefox。
? 最新版本的Git。
? Anaconda3.7Python发行版本。
?Python3.7。
? 安装以下Python库:numpy,pandas,matplotlib,seaborn,plotly,bokeh,altair和geopandas。
本书约定
正文中的代码文字、数据库表名、文件夹名、文件名、文件扩展名、路径名、URL、用户输入和推特账号显示如下:
“Python使用numpy和scipy等库完成高级数值和科学计算,并基于scikit-learn包支持大量机器学习方法,基于pandas包以及它与ApacheSpark的兼容性,Python为大数据管理提供了一个很好的接口,另外还能利用类似seaborn、plotly等库生成美观的图表。”
代码块显示如下:
#importthepythonmodules
importseabornassns
#loadthedataset
diamonds_df=sns.load_dataset(d'iamonds')
#Plotahistogram
diamonds_df.hist(column=c'arat')
新术语和重要的词用粗体显示:
“核密度估计是估计一个随机变量概率密度函数的非参数方法。”
安装和设置
我们将通过不同的图和交互特性可视化表示不同类型的数据,在开始我们的旅程之前,需要做好准备,提供最有效的环境。按照如下说明操作:
安装AnacondaPython发行版本
在官方安装页面(https://www.anaconda.com/distribution/)上找到对应你的操作系统的Anaconda版本。
下载完成后,双击这个文件,打开安装工具,并按照屏幕上的提示完成安装。
安装pip
(1)要安装pip,访问以下链接下载get-pip.py文件:
https://pip.pypa.io/en/stable/installing/。
(2)然后使用以下命令进行安装:pythonget-pip.py。
你可能需要使用python3get-pip.py命令,因为你的计算机上以前版本的Python可能已经使用了python命令。
安装Python库
在你的Anaconda终端中使用以下命令安装Seaborn:
pipinstallseaborn
在你的Anaconda终端中使用以下命令安装Bokeh:
pipinstallbokeh
在你的Anaconda终端中使用以下命令安装Plotly:
pipinstallplotly==4.1.0
使用JupyterLab和JupyterNotebook
你要在JupyterLab或Notebook中完成不同的练习和实践活动。这些练习和实践活动可以从相关GitHub存储库下载。
你可以从这里下载存储库:https://github.com/TrainingByPackt/Interactive-Data-Visualization-with-Python。
可以使用GitHub下载,也可以点击右上角绿色的克隆或下载按钮下载一个zip压缩文件夹。要打开JupyterNotebooks,必须在你的终端中访问相应目录。为此,键入以下命令:
cdInteractive-Data-Visualization-with-Python/.
例如:cdInteractive-Data-Visualization-with-Python/Chapter01/
最后要完成以下步骤:
(1)要得到各个实践活动和练习,必须再一次使用cd进入各个文件夹,如下所示:cdActivity01
(2)一旦进入选择的文件夹,只需要调用以下命令:
jupyter-lab启动JupyterLab。类似地,对于JupyterNotebook,要调用jupyter notebook
导入Python库
这本书中每个练习和实践活动会利用多个不同的库。在Python中导入库非常简单。做法如下:?
要导入库,如seaborn和pandas,必须运行以下代码:
#importthepythonmodules
importseaborn
importpandas
这会把整个库导入我们的当前文件。
? 在本书练习和实践活动的第一个单元格中,你会看到以下代码。我们可以在代码中使用sns而不是seaborn来调用seaborn中的方法:
#importseabornandassignaliassns
importseabornassns
安装Git
要安装Git,需要访问https://git-scm.com/downloads,并按照特定于你平台的安装说明完成安装。
其他资源
我们还在GitHub上托管了本书代码包(https://github.com/TrainingByPackt/Interactive-Data-Visualization-with-Python)。
另外还在https://github.com/PacktPublishing/提供了我们出版的大量图书和视频的其他代码包。去看看有什么!