【数据挖掘之数据可视化】Matplotlib图表绘制基础

Jupyter notebook中进行交互式绘图,需要执行%matplotlib notebook这个命令。 习惯上我们会使用import matplotlib.pyplot as plt来进行导入matplotlib.pyplot模块。

tips(若没有图案出来一定要检查是否执行了%matplotlib notebook这个命令)

1.创建子图及绘图。

以下是使用Python的Matplotlib图形库创建一个简单的子图的示例代码:

import matplotlib.pyplot as plt

# 创建一个包含2个子图的画布
fig, axes = plt.subplots(1, 2)

# 在第一个子图中绘制一条直线
axes[0].plot([1, 2, 3, 4], [1, 4, 9, 16])

# 在第二个子图中绘制一个散点图
axes[1].scatter([1, 2, 3, 4], [1, 4, 9, 16])

# 显示图形
plt.show()

这段代码将创建一个包含两个子图的画布,并在第一个子图中绘制一条直线,第二个子图中绘制一个散点图。

 2.创建子图调整子图周围的间距。

要创建子图并调整子图周围的间距,可以使用matplotlib库中的subplots函数,并设置subplots_adjust函数来调整子图周围的间距。

首先,导入所需的库和模块:

import matplotlib.pyplot as plt

然后,使用subplots函数创建子图,并通过subplots_adjust函数调整子图周围的间距。以下是一个示例:

# 创建子图
fig, axes = plt.subplots(nrows=2, ncols=2)

# 调整子图周围的间距
plt.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9, wspace=0.4, hspace=0.3)

# 添加子图内容
axes[0, 0].plot([1, 2, 3], [1, 2, 3])
axes[0, 1].scatter([1, 2, 3], [1, 2, 3])
axes[1, 0].bar([1, 2, 3], [1, 2, 3])
axes[1, 1].pie([1, 2, 3])

# 显示子图
plt.show()

在上面的示例中,subplots(nrows=2, ncols=2)创建了一个2x2的子图。然后,subplots_adjust函数定义了左边距(left)、右边距(right)、底边距(bottom)、顶边距(top)、水平间距(wspace)和垂直间距(hspace)的值,来调整子图周围的间距。

最后,通过plotscatterbarpie等函数在每个子图中添加内容。最后,使用plt.show()显示子图。

3.包含子图绘制的基础语法。

绘制子图的基础语法是使用plt.subplots()函数创建一个包含多个子图的图表对象。该函数可以指定子图的行数和列数,然后返回一个图表对象和一个包含子图对象的数组。

下面是绘制包含子图的基础语法:

import matplotlib.pyplot as plt

# 创建包含多个子图的图表对象
fig, axes = plt.subplots(nrows, ncols)

# 绘制子图
axes[row_index, col_index].plot(x, y)

其中,nrows是子图的行数,ncols是子图的列数,row_indexcol_index分别是子图在网格中的行索引和列索引,xy是用于绘制子图的数据。

可以通过修改nrowsncols的值来指定所需的子图布局。然后,可以使用axes[row_index, col_index]来选择要绘制的子图,并使用常用的绘图函数(如plot()scatter()bar()等)来绘制图形。

下面是一个绘制包含子图的简单示例:

import matplotlib.pyplot as plt
import numpy as np

# 创建包含2行2列的子图布局
fig, axes = plt.subplots(nrows=2, ncols=2)

# 绘制子图1
x1 = np.linspace(0, 10, 100)
y1 = np.sin(x1)
axes[0, 0].plot(x1, y1)
axes[0, 0].set_title('Subplot 1')

# 绘制子图2
x2 = np.linspace(0, 5, 50)
y2 = np.cos(x2)
axes[0, 1].plot(x2, y2)
axes[0, 1].set_title('Subplot 2')

# 绘制子图3
x3 = np.linspace(-5, 5, 50)
y3 = x3**2
axes[1, 0].plot(x3, y3)
axes[1, 0].set_title('Subplot 3')

# 绘制子图4
x4 = np.random.normal(0, 1, 100)
y4 = np.random.normal(0, 1, 100)
axes[1, 1].scatter(x4, y4)
axes[1, 1].set_title('Subplot 4')

# 调整子图之间的间距
plt.tight_layout()

# 显示图表
plt.show()

在这个示例中,我们创建了一个2行2列的子图布局,并分别绘制了4个子图。每个子图使用不同的数据和标题,并使用set_title()方法设置子图的标题。最后,使用plt.tight_layout()方法调整子图之间的间距,然后调用plt.show()方法显示图表。

4.rc参数设置示例。

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
np.random.seed(719)
ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one')
ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two')
ax.legend(loc = 'best')

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值