Python数据分析笔记#9.1.1 绘图和可视化

liftword3周前 (04-08)技术文章4


「目录」

绘图和可视化

Plotting and Visualization

  • 9.1 => matplotlib

-------> figure and subplot

  • 9.2 => pandas和seaborn绘图

matplotlib

作者原书中写道,matplotlib是一个用于创建出版质量图表的绘图包(主要是2D方面)。

该项目是John Hunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口。

随着时间发展,matpotlib衍生出了多个数据可视化的工具集,它们使用matplotlib作为底层。其中之一是seaborn。

matplotlib约定的引入方式是下面这样的:

import matplotlib.pyplot as plt

首先,建议在Jupyter notebook中执行下面的语句,这样就可以在jupyter notebook中进行交互式绘图了:

%matplotlib notebook

先做一个简单的线图吧:

In [1]: import matplotlib.pyplot as plt

In [2]: import numpy as np

In [3]: data = np.arange(10)

In [4]: data
Out[4]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [5]: plt.plot(data)


Figure and Subplot

matplotlib的图像都位于Figure对象中。我们可以用plt.figure创建一个新的Figure:

In [6]: fig = plt.figure()

plt.figure()中有一些选项比如figsize可以设置图片的大小和纵横比。

通过add_subplot我们可以在空白的figure上创建一个或多个subplot子图:

In [7]: ax1 = fig.add_subplot(2, 2, 1)

In [8]: ax2 = fig.add_subplot(2, 2, 2)

In [9]: ax3 = fig.add_subplot(2, 2, 3)

上面代码的意思是,创建2*2的图像(最多4张图),第3个参数代表当前选中的是第几个图。

ax1.hist代表第一张图为柱状图,ax2.scatter代表第二张图为散点图,ax3.plot代表第三张图为折线图,color参数就是颜色,alpha参数为透明度:

In [10]: _ = ax1.hist(np.random.randn(100), bins=20, color='k', alpha=0.3)

In [11]: ax2.scatter(np.arange(30), np.arange(30) + 3 * np.random.randn(30))

In [12]: ax3.plot(np.random.randn(50).cumsum(), 'k--')

更方便的创建网格的方法是使用方法plt.subplots,它会创建一个新的Figure,并返回一个含有已创建的subplot对象的Numpy数组:

In [13]: fig, axes = plt.subplots(2, 3)

In [14]: axes
Out[14]:
array([[,
        ,
        ],
       [,
        ,
        ]],
      dtype=object)

现在通过对axes数组进行索引就可以方便的绘图了:

In [15]: axes[0,1].scatter(np.arange(20), np.arange(20) + 3 * np.random.randn(20), color='y', alpha=0.7)
Out[15]: 

In [16]: axes[0,1].scatter(np.arange(20), np.arange(20) + 3 * np.random.randn(20), color='b', alpha=0.7)
Out[16]: 

BYE-BYE!


-END-

相关文章

Python数据分析基础与实战

Python 是数据分析领域的首选工具之一,因其丰富的库和易用性广受欢迎。以下是 Python 数据分析的核心内容和学习路径:1. 基础工具库NumPy核心功能:多维数组(ndarray)操作、数学运...

极简Python数据分析入门:从工具准备到建模实战全攻略!

以下是一份极简Python数据分析入门指南,帮助新手快速掌握核心技能:1. 工具准备安装必备库:推荐使用 Jupyter Notebook(交互式编程环境)进行数据分析。2. 数据加载使用 panda...

三天带你轻松学会python数据分析基础,拿走不谢

Python应用广泛,尤其在数据处理方面功能强大,这本书讲述了数据的抓取、处理、可视化。【文末领取】获取方式:...

7天带你轻松学会python数据分析基础,拿走不谢

Python应用广泛,尤其在数据处理方面功能强大,这本书讲述了数据的抓取、处理、可视化。【文末领取】获取方式:...

「Python数据分析」Pandas基础,通过索引选择数据

原始数据处理过程1、通过函数,生成上图所示的原始数据集2、选择某一单元格中的值3、交换数据集中A、B列的值4、选择A列和B列,形成新的数据集处理过程1新建文件夹和Python笔记本源程序,导入pand...

小白零基础学习路线,完整的自学python数据分析的学习路线

数据分析师已经存在多年了,但是,对该职业的需求从2018年开始,对数据分析师的需求猛增,目前数据分析师的前景已然非常好!预计到2025年,「数据分析师」将成为需求最大的工作之一。由于这种现象,我们看到...