当前位置: 首页 > article >正文

python中数据可视化库(Matplotlib)

python中数据可视化库(Matplotlib)

  • 安装 Matplotlib
  • 基本使用
  • 绘图类型示例
    • 散点图 (Scatter Plot)
    • 柱状图 (Bar Chart)
    • 饼图 (Pie Chart)
    • 直方图 (Histogram)
  • 自定义图表样式
  • 多面板图表 (Subplots)
  • 3D 图表

Matplotlib 是 Python 中一个非常流行的绘图库,用于生成各种静态、动态、交互式的 2D 和 3D 图表,Matplotlib提供了丰富的绘图功能,包括线图、散点图、柱状图、饼图、等高线图等,且支持自定义图表的各种属性,如标题、坐标轴标签、图例等

安装 Matplotlib

pip install matplotlib

基本使用

在 Matplotlib 中,最常用的模块是 pyplot,通常通过别名 plt 来导入

import matplotlib.pyplot as plt

# 数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 创建一个新的图表
plt.figure()

# 绘制折线图
plt.plot(x, y)

# 添加标题和坐标轴标签
plt.title("Simple Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

#保存图标
plt.savefig('plot.png')

# 显示图表
plt.show()

在这里插入图片描述

绘图类型示例

散点图 (Scatter Plot)

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.scatter(x, y)
plt.title("Scatter Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.grid(True)

#保存图标
plt.savefig('scatter_plot.png')
plt.show()

在这里插入图片描述

柱状图 (Bar Chart)

import matplotlib.pyplot as plt

categories = ['Category1', 'Category2', 'Category3', 'Category4']
values = [5, 7, 9, 11]

plt.bar(categories, values)
plt.title("Bar Chart")
plt.xlabel("Categories")
plt.ylabel("Values")

plt.savefig('bar_chart_plot.png')
plt.show()

在这里插入图片描述

饼图 (Pie Chart)

import matplotlib.pyplot as plt

labels = ['Label1', 'Label2', 'Label3', 'Label4']
sizes = [15, 30, 45, 10]

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title("Pie Chart")

plt.savefig('pie_chart_plot.png')
plt.show()

在这里插入图片描述

直方图 (Histogram)

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)  # 生成1000个随机数

plt.hist(data, bins=30)  # bins 表示直方图的柱子数量
plt.title("Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")

plt.savefig('histogram_plot.png')
plt.show()

在这里插入图片描述

自定义图表样式

Matplotlib可自定义图表的各种样式,包括线条颜色、线型、标记样式等

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y, color='red', linestyle='--', marker='o', label='sin(x)')
plt.title("Custom Style Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()  # 显示图例
plt.grid(True)  # 显示网格线

plt.savefig('custom_style_plot.png')
plt.show()

在这里插入图片描述

多面板图表 (Subplots)

Matplotlib 支持在一个窗口中绘制多个图表,可通过 subplots 函数来实现:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建一个 2x1 的子图网格,并获取第一个子图对象
fig, axs = plt.subplots(2, 1)
axs[0].plot(x, y1)
axs[0].set_title("sin(x)")
axs[1].plot(x, y2)
axs[1].set_title("cos(x)")
plt.tight_layout()  # 调整子图间距

plt.savefig('subplots_plot.png')
plt.show()

在这里插入图片描述

3D 图表

Matplotlib 也支持 3D 图表的绘制,需要使用 mplot3d 模块:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')  # cmap 表示颜色映射
ax.set_title("3D Surface Plot")

plt.savefig('3D_plot.png')
plt.show()

在这里插入图片描述


http://www.kler.cn/a/507261.html

相关文章:

  • css盒子水平垂直居中
  • 移动端H5缓存问题
  • JVM类加载器(附面试题)
  • [操作系统] 深入理解操作系统的概念及定位
  • 机器学习中的凸函数和梯度下降法
  • SpringBoot入门实现简单增删改查
  • PCL 获取指定区域的点【2025最新版】
  • 万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用
  • 如何使用Ultralytics训练自己的yolo5 yolo8 yolo10 yolo11等目标检测模型
  • 强化学习-蒙特卡洛方法
  • 数据库基础实验1(创建表,设置外键,检查,不为空,主键等约束)安装mysql详细步骤
  • 通过智能合约攻击漏洞:夺取合约所有权并提取余额
  • 立创开发板入门第六课 音频-扬声器和麦克风 I2S驱动
  • 3 前端(上): Web开发相关概念 、HTML语法、CSS语法
  • 【Golang 面试题】每日 3 题(三十)
  • MiniCPM-o 2.6:开源大型语言模型在多模态任务上超越GPT-4o和Claude 3.5
  • 【Vue】Vue组件--下
  • Linux和Docker常用终端命令:保姆级图文详解
  • Apache Hop从入门到精通 第三课 Apache Hop下载安装
  • 微服务的自我修养:从拆分到秩序的进化论
  • Redis监控系统:基于Redis Exporter的性能指标可视化
  • 二进制/源码编译安装mysql 8.0
  • Visual Studio Community 2022(VS2022)安装方法
  • 【Pico串流预览】使用“PICO Unity Live Preview Plugin”和PDC工具进行实时预览
  • JAVA实现五子棋小游戏(附源码)
  • SQL Prompt 插件