python 各种画图(2D 3D)-1 _matplotlib 官方网站笔记

2024-06-04 03:12

本文主要是介绍python 各种画图(2D 3D)-1 _matplotlib 官方网站笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

需利用python进行3D可视化处理,用于分析python得到的数据的正确性。

知识学习

python高阶3D绘图---pyvista模块,mayavi模块,pyopengl模块,MoviePy模块基础使用-CSDN博客

python用于3D绘图的模块比较多,pyvista模块,mayavi模块,pyopengl模块,MoviePy模块matplotlib库。建议直接看官方教程比较快。工具很多,具体使用哪一种,根据各模块的特点选用。

如下官网链接

Mayavi: 3D scientific data visualization and plotting in Python — mayavi 4.8.3.dev0 文档

Matplotlib 文档_Matplotlib 中文网

Matplotlib — Visualization with Python  (推荐看英文官网)

Examples — PyVista 0.43.1 documentation

PyOpenGL -- The Python OpenGL Binding (sourceforge.net)

MoviePy中文手册 — moviepy-cn 文档

应用

代码如下:

这个项目是因为,已经将得到的数据存在xlsx中,所以增加了读数据的操作,直接调用python的数据也一样,主要用到如下代码用于3d 散点图的显示

# 显示图形fig = plt.figure(figsize=(10, 8))  # 设置图形大小ax = fig.add_subplot(111, projection='3d')ax.scatter(Oab_rows_x, Oab_rows_y, Oab_rows_z, label='O set', s=1, alpha=0.8)ax.scatter(Pxb_rows_x, Pxb_rows_y, Pxb_rows_z, color='red', label='x set', s=1, alpha=0.8)ax.scatter(Pyb_rows_x, Pyb_rows_y, Pyb_rows_z, color='black', label='y set', s=1, alpha=0.8)# 添加图例ax.legend()plt.show()

官网中还有很多图例,如下截图 

 怎么设置图例,出图漂亮

 一个应用代码如下: (仅做学习记录,画图看官网)


import numpy as np
import math
import pandas as pdimport matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as pltimport openxlsx# 主函数
def main(excel_file, sheet_name):# 读取Excel文件df = pd.read_excel(excel_file, sheet_name=sheet_name)result_rows = []Oab_rows_x = []Oab_rows_y = []Oab_rows_z = []Pxb_rows_x = []Pxb_rows_y = []Pxb_rows_z = []Pyb_rows_x = []Pyb_rows_y = []Pyb_rows_z = []# 遍历DataFrame的每一行for index, row in df.iterrows():Oab = np.array([row['Oab_x'], row['Oab_y'], row['Oab_z']])Pxb = np.array([row['Pxb_x'], row['Pxb_y'], row['Pxb_z']])Pyb = np.array([row['Pyb_x'], row['Pyb_y'], row['Pyb_z']])Oab_row_x = Oab[0]Oab_rows_x.append(Oab_row_x)Oab_row_y = Oab[1]Oab_rows_y.append(Oab_row_y)Oab_row_z = Oab[2]Oab_rows_z.append(Oab_row_z)Pxb_row_x = Pxb[0]Pxb_rows_x.append(Pxb_row_x)Pxb_row_y = Pxb[1]Pxb_rows_y.append(Pxb_row_y)Pxb_row_z = Pxb[2]Pxb_rows_z.append(Pxb_row_z)Pyb_row_x = Pyb[0]Pyb_rows_x.append(Pyb_row_x)Pyb_row_y = Pyb[1]Pyb_rows_y.append(Pyb_row_y)Pyb_row_z = Pyb[2]Pyb_rows_z.append(Pyb_row_z)# 显示图形fig = plt.figure(figsize=(10, 8))  # 设置图形大小ax = fig.add_subplot(111, projection='3d')ax.scatter(Oab_rows_x, Oab_rows_y, Oab_rows_z, label='O set', s=1, alpha=0.8)ax.scatter(Pxb_rows_x, Pxb_rows_y, Pxb_rows_z, color='red', label='x set', s=1, alpha=0.8)ax.scatter(Pyb_rows_x, Pyb_rows_y, Pyb_rows_z, color='black', label='y set', s=1, alpha=0.8)# 添加图例ax.legend()plt.show()# 调用主函数
if __name__ == "__main__":excel_file = 'C:\\Users\Desktop\output.xlsx'  # 假设Excel文件名是data.xlsxsheet_name = 'Sheet 1'     # 假设数据在第一个工作表上main(excel_file, sheet_name)

其中如下代码是因为报错,可参照链接解决。

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

matplotlib:报错:ImportError: Cannot load backend ‘TkAgg‘ which requires the ‘tk‘ interactive 的处理记录_importerror: cannot load backend 'tkagg' which req-CSDN博客

拓展:matplotlib 官方网站

按数据分类:

Pairwise data#   

成对、表格、 和函数数据。\((x, y)\)\((var\_0, \cdots, var\_n)\)\(f(x)=y\)

统计类数据

数据集中至少一个变量的分布图。其中一些方法还计算分布。

 网格化数据

不规则的网格化数据

3D和立体数据

用户指导

目录如下

Quick start guide#

  • A simple example
  • Parts of a Figure
  • Types of inputs to plotting functions
  • Coding styles
  • Styling Artists
  • Labelling plots
    • Axes labels and text
    • Using mathematical expressions in text
    • Annotations
    • Legends
  • Axis scales and ticks
  • Color mapped data
  • Working with multiple Figures and Axes
  • More reading

上图是figure的组成元素。要是绘制简单的图形,直接参照Quick start guide官方代码。也可以直接看教程。

教程

Introductory#  初级

  • Quick start guide

  • Customizing Matplotlib with style sheets and rcParams  自定义属性及参数设置

  • Animations using Matplotlib       动画

Intermediate 中级

  • Legend guide        图例指南

  • Styling with cycler   演示自定义属性周期设置,以控制多线绘图的颜色和其他样式属性。

  • Constrained layout guide  约束布局

  • Tight layout guide      紧凑布局

  • Arranging multiple Axes in a Figure  多坐标

  • Autoscaling Axis   可缩放

  • origin and extent in imshow  

Advanced 高级

  • Faster rendering by using blitting   动画

  • Path Tutorial  轨迹

  • Path effects guide   轨迹效果

  • Transformations Tutorial    官网说应用较少

Colors  颜色设置

See Colors.

Text  文本设置

See Text.

Toolkits  工具箱子

See User Toolkits.

  • The axisartist toolkit    自定义轴类
  • The axes_grid1 toolkit  网格图工具
  • The mplot3d toolkit    3D图工具

Contents

  • The mplot3d toolkit

    • Line plots

    • Scatter plots

    • Wireframe plots

    • Surface plots

    • Tri-Surface plots

    • Contour plots

    • Filled contour plots

    • Polygon plots

    • Bar plots

    • Quiver

    • 2D plots in 3D

    • Text

这篇关于python 各种画图(2D 3D)-1 _matplotlib 官方网站笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028901

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: