30天拿下Python之matplotlib模块

简介: 30天拿下Python之matplotlib模块

概述

在上一节,我们介绍了Python的pandas模块,包括:Series、DataFrame、数据读取和写入等内容。在这一节,我们将介绍Python的matplotlib模块。matplotlib模块是一个Python的2D绘图库,可以实现各种类型的图形绘制,包括:线图、柱状图、饼图、散点图等。matplotlib支持各种格式的输出,比如:PNG、SVG、PDF等,可以很方便地将图形输出到文件或在屏幕上显示。

在Python中使用matplotlib模块,需要先安装matplotlib库。可以通过pip命令进行安装:pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple matplotlib。安装完成后,就可以在Python脚本中导入matplotlib模块,并使用其函数和方法了。

线图

在下面的示例代码中,我们首先引入了Matplotlib的pyplot模块,并定义了x、y两个列表。然后,使用plt.plot(x, y)函数绘制了一条线。最后,通过plt.show()函数显示图形。

import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y)
plt.show()

执行上面的示例代码后,其输出如下。

image.png

除了基本的绘图函数,Matplotlib还提供了许多参数设置功能,可以自定义图形的各种属性,比如:颜色、线型、刻度、标签等。下面的示例代码绘制了一条黄色的线,并设置了X轴和Y轴的标签。

import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y, color = 'yellow')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

执行上面的示例代码后,其输出如下。

image.png

柱状图

在下面的示例代码中,我们使用plt.bar()函数绘制了一个简单的柱状图,并传入了标签和相应的数值,图形中的每个柱子都对应一个标签和一个数值。

import matplotlib.pyplot as plt

labels = ['C', 'S', 'D', 'N']
values = [36, 50, 22, 65]

plt.bar(labels, values)
plt.show()

执行上面的示例代码后,其输出如下。

image.png

饼图

在下面的示例代码中,我们使用plt.pie()函数绘制了一个简单的饼图,并传入了标签和相应的数值。plt.pie()函数有如下几个参数,分别进行介绍。

sizes:表示每个部分的大小,它将自动根据这些大小生成饼图。

labels:表示每个部分的标签。

autopct:用于显示每个部分的百分比,格式由参数值决定。在本例中,它显示的是百分比的小数形式,保留两位小数。

import matplotlib.pyplot as plt

labels = ['C', 'S', 'D', 'N']
values = [36, 50, 22, 65]

# 保留两位小数
plt.pie(values, labels = labels, autopct = '%1.2f%%') 
# 确保饼图是圆的(即x轴和y轴的比例相同)  
plt.axis('equal')
plt.show()

执行上面的示例代码后,其输出如下。

image.png

散点图

在下面的示例代码中,我们使用plt.scatter(x, y)函数创建了散点图。该函数接受两个参数:x和y坐标列表。然后,我们使用plt.title()、plt.xlabel()、plt.ylabel()函数为散点图添加了标题和轴标签。

import matplotlib.pyplot as plt
import numpy as np

# 生成一些随机数据
x = np.random.rand(30)
y = np.random.rand(30)

# 创建散点图
plt.scatter(x, y)

# 添加标题和轴标签
plt.title('Scatter Plot Demo')
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')

plt.show()

执行上面的示例代码后,其输出如下。

image.png

添加文本及矩形

对于定制化需求,Matplotlib模块提供了大量的参数和API供用户自定义图形。比如:可以设置图形的标题、标签、颜色、线型、刻度等属性,也可以添加文本、散点、矩形等图形元素。

在下面的示例代码中,我们首先使用plt.text函数添加了文本。然后,使用plt.Rectangle函数来创建一个矩形对象,并使用ax.add_patch函数将它添加到图形上。矩形的位置和大小由它的四个参数决定:左下角的x和y坐标、矩形的宽度和高度。另外,我们还可以设置矩形的颜色和线宽。最后,我们设置x和y轴的限制,以便全部的矩形都能被显示出来。

import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y)

# 添加文本
plt.text(5, 36, 'CSDN', fontsize = 12)

# 添加矩形
fig, ax = plt.subplots()
rect = plt.Rectangle((3, 3), 6, 9, fill = True, edgecolor = 'red', linewidth = 2)
ax.add_patch(rect)

# 设置x和y轴的限制,以便显示全部的矩形
ax.set_xlim(0, 15)
ax.set_ylim(0, 15)

plt.show()

执行上面的示例代码后,其输出如下。

image.png


相关文章
|
4天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
12 5
|
4天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
11天前
|
数据可视化 JavaScript 前端开发
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
36 5
|
16天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
35 5
|
14天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
17天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
58 5
|
17天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
16 1
|
15天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
14 0
|
16天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
13 0
|
16天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
15 0

热门文章

最新文章