python--matplotlib(4)

这篇具有很好参考价值的文章主要介绍了python--matplotlib(4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言 

Matplotlib画图工具的官网地址是 http://matplotlib.org/

Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。

其他matplotlib文章

python--matplotlib(1)_码银的博客-CSDN博客

python--matplotlib(2)_码银的博客-CSDN博客

python--matplotlib(3)_码银的博客-CSDN博客

实验环境

Pycharm2020.2.5社区版,win11 

正文 

三维立体图形:

除了要引用matplotlib外,还需要引用mpl_toolkits.mplot3d库(from mpl_toolkits.mplot3d import Axes3D),需要在matplotlib的figure函数生成实例对象后(fig = plt.figure()),设置其制图模式为3d(fig.add_subplot(111, projection='3d'))。

1.简单三维图

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
sd = fig.add_subplot(111, projection='3d')#111,221,222,223,224
plt.show()

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
sd = fig.add_subplot(111, projection='3d')#111,221,222,223,224
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.plot_trisurf(X, Y, Z)
plt.show()

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

这个3d图可以转动,方便观察;

第四行代码:111,就是全屏或者或是正中间,剩下(221、222、223、224)对应四个角落,下面我依次截图看一下:

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

plot_trisurf(z,y,z,...) :画3d曲平面的函数。

x,y,z要竖着看,一列对应的是一个点的坐标。

一个框框里显示四个图

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

fig = plt.figure()
sd = fig.add_subplot(221, projection='3d')
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.plot_trisurf(X, Y, Z)

sd = fig.add_subplot(222, projection='3d')
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.plot_trisurf(X, Y, Z)


sd = fig.add_subplot(223, projection='3d')
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.plot_trisurf(X, Y, Z)


sd = fig.add_subplot(224, projection='3d')
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.plot_trisurf(X, Y, Z)

plt.show()

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

2.三维曲面plot_trisurf(薯片)

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

radius = np.linspace(0.1, 1, 25)
#np.linspace(start = 0.1, stop = 1, num = 25)
#stop 参数数值范围的终止点。通常其为结果的最后一个值,但如果修改endpoint = False, 则结果中不包括该值
angle = np.linspace(0, 2 * np.pi, 60, endpoint=False)
angle = np.repeat(angle[..., np.newaxis],25, axis=0)
#angles[..., np.newaxis]将每个元素转化为列表,np.repeat(a,repeats,axis=None);
# repeats:复制次数;axis=None,flatten当前矩阵,axis=0,增加行数,列数不变,axis=1,增加列数,行数不变
x = np.append(1, (radius * np.cos(angle)).flatten())
y = np.append(0, (radius * np.sin(angle)).flatten())
#flatten()是对多维数据的降维函数
y=y/2
x=x/2
z = np.sin(x * y)
z=z/2
fig = plt.figure()
sd = fig.add_subplot(projection='3d')
sd.plot_trisurf(x, y, z, cmap=plt.get_cmap('YlOrRd'), linewidth=0.1)
plt.show()

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

 a.导入库

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

b.数据准备

radius = np.linspace(0.1, 1, 25)
angle = np.linspace(0, 2 * np.pi, 60, endpoint=False)
angle = np.repeat(angle[..., np.newaxis],25, axis=0)
x = np.append(1, (radius * np.cos(angle)).flatten())
y = np.append(0, (radius * np.sin(angle)).flatten())
y=y/2
x=x/2
z = np.sin(x * y)
z=z/2

linspace()函数

np.linspace(start = 0.1, stop = 1, num = 25)

start 参数数值范围的起始点。

stop 参数数值范围的终止点。通常其为结果的最后一个值,但如果修改endpoint = False, 则结果中不包括该值

num:数据数量,本篇选择了25个。

flatten()函数是对多维数据的降维函数,将矩阵的行之间首尾连接,组成一个一维矩阵;

repeat()函数

np.repeat(a,repeats,axis=0)

repeats:复制次数;

axis=None,把矩阵变成了一个一维矩阵[1,2,3,4];

axis=0,增加行数,列数不变;

axis=1,增加列数,行数不变

angles[..., np.newaxis]将每个元素转化为列表,

c.画图

fig = plt.figure()
sd = fig.add_subplot(projection='3d')
sd.plot_trisurf(x, y, z, cmap=plt.get_cmap('YlOrRd'), linewidth=0.1)
plt.show()

cmap:调换颜色的作用

linewidth:线宽

3.三维曲面标题等设置

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
plt.rcParams["font.sans-serif"] = ["SimHei"]# 正确显示中文和负号
plt.rcParams["axes.unicode_minus"] = False
fig = plt.figure()
sd = fig.add_subplot(111, projection='3d')#111,221,222,223,224
X = [0, 1, 2, 1, 2, 4]
Y = [0, 4, 4, 1, 3, 4]
Z = [0, 4, 0, 0, 2, 4]
sd.set_xlabel('x轴')
sd.set_ylabel('y轴')
sd.set_zlabel('z轴')
plt.title('这是标题')
sd.plot_trisurf(X, Y, Z)
plt.show()

python matlab 库 plot_trisurf,python库学习,python,matplotlib,开发语言

我就直接使用标题1里面的代码加工了,

sd.set_xlabel('x轴')#x轴函数

sd.set_ylabel('y轴')#y轴函数

sd.set_zlabel('z轴')#z轴函数

plt.title('这是标题')#添加标题函数

因为我使用了中文,

plt.rcParams["font.sans-serif"] = ["SimHei"]# 正确显示中文和负号
plt.rcParams["axes.unicode_minus"] = False

所以还得用这两行代码,要是仅仅使用英文的话删除即可。

4.小结 

当初我第一次numpy库的时候的心得:使用pip install matplotlib安装matplotlib库,而 numpy 库我是在c:\users\yonghuming\appdata\local\programs\python\python39\scripts的目录下使用pip install numpy-1.22.4-cp39-cp39-win_amd64.whl才安装成功的。

现在我使用的是anaconda,直接把大部分的库安装好了,省时省力。文章来源地址https://www.toymoban.com/news/detail-828212.html

到了这里,关于python--matplotlib(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Python中matplotlib函数的plt.plot()函数的颜色参数设置,以及可以直接运行的程序代码!

    在matplotlib中, plt.plot()函数可以接受颜色参数 ,可以设置为 字符串颜色(如\\\'red\\\') ,也可以设置为 十六进制颜色 (如’#FF0000’表示红色),也可以设置为 RGB元组(如(1,0,0)表示红色) 。 如果想要用数值(如0,1)来设置颜色,可以使用 颜色映射(Colormap) 。 在matplotlib中

    2024年02月04日
    浏览(50)
  • Matplotlib.pyplot.plot 绘图

    Matplotlib.pyplot.scatter 散点图绘制 Matplotlib.pyplot 创建图形、在图形中创建创建一个绘图区域、在绘图区域中你那个绘制一些线、在图形中添加标签之类 format_string 控制曲线的格式字符串,可选,由颜色 字符 、 风格 字符和 标记 字符组成 颜色 字符 说明 字符 说明 字符 说明 \\\'

    2024年02月05日
    浏览(35)
  • Python机器学习:plot_importance()查看特征重要度

    lightgmb算法里面的plot_importance()方法支持特征重要度的查看,下面将以lightgmb算法为例将特征重要度可视化展示出来。另外xgboost算法的实现也几乎一样哦。 事先准备好模型: 以上模型训练好了,下面查看特征重要度: 代码讲解: import导入lightgbm算法里查看特征重要度的plot_

    2024年02月11日
    浏览(41)
  • MATLAB 的 plot 绘图

    plot的作用: 2-D line plot plot(X,Y) plot(X,Y,LineSpec) plot(X1,Y1,…,Xn,Yn) plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn) plot(Y) plot(Y,LineSpec) plot(tbl,xvar,yvar) plot(tbl,yvar) plot(ax,___) plot(___,Name,Value) p = plot(___) 1. plot(X, Y) plot(X, Y) creates a 2-D line plot of the data in Y versus the corresponding values in X. To plot a set of coordinat

    2024年02月09日
    浏览(44)
  • 【matlab】matlab中plot的功能及其用法

             matlab中plot的功能主要是二维曲线绘图,用法为:如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。 如果 X 或 Y中的一个是向量而另一个是矩阵,则矩阵的各

    2024年02月12日
    浏览(43)
  • 掌握Python的X篇_33_MATLAB的替代组合NumPy+SciPy+Matplotlib

    numPy 通常与 SciPy( Scientific Python ) 和 Matplotlib (绘图库) 一起使用,这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。 numpy /nampai/ 数值计算库,简单而言,可以被当做向量,线性代数计算。 官方推荐导入方式: 以 n

    2024年02月13日
    浏览(42)
  • MATLAB绘图函数plot详解

    一、引言 Matlab软件提供了强大的可视化功能,可以根据给定的曲线上的坐标来绘制曲线图形,也可以根据已知的函数及自变量来绘制曲线图形,也可以只给定自变量的取值范围来绘制曲线,基本的Matlab函数是plot、fplot、ezplot、fimplicit等,本文详述利用plot绘制二维曲线图形的

    2024年02月12日
    浏览(55)
  • matlab:plot线型和颜色

    线型选项: 实线:使用默认的plot命令绘制的线条就是实线。 虚线:可以使用“–”选项来绘制虚线。例如:plot(x,y,‘–’)。 点线:可以使用“:”选项来绘制点线。例如:plot(x,y,‘:’)。 点划线:可以使用“-.”选项来绘制点划线。例如:plot(x,y,‘-.’)。 颜色选项: Matla

    2024年02月05日
    浏览(36)
  • matlab绘图plot常用设置

    目录 图像的大小和位置 一个窗口画多张子图片 保存图片 MATLAB 中设置 Figure 和 Axes 的位置和尺寸 - 知乎 (zhihu.com) https://zhuanlan.zhihu.com/p/446968474 示例: plot(t,y, \\\'Color\\\', [0,0,1],\\\'Linewidth\\\',1.5); set(gca,\\\'Position\\\', [.13 .60 .80 .30]); set(gca,\\\'linewidth\\\',1.2,\\\'fontsize\\\',14,\\\'fontname\\\',\\\'Times\\\'); xlim([0 2.5]); yli

    2024年02月10日
    浏览(44)
  • 【Matlab系列】matlab stem/plot绘制实心点

    Date; 2023.5.14 THE END!

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包