• 主要介绍了python+matplotlib绘制3D条形实例代码，具有一定借鉴价值,需要的朋友可以参考下
• 修改X,Y,Z轴的刻度值 from matplotlib.ticker import MultipleLocator,...from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from matplotlib import cm from matplotlib i...

修改X,Y,Z轴的刻度值

from matplotlib.ticker import MultipleLocator,FuncFormatter
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib import colors
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
import matplotlib.ticker as ticker

def fun(x):
if x >= 1:
return 1
return x

def to_percent(temp, position):
return '%1.0f'%(100*temp)

x = np.arange(0, 0.5, 0.001)
y = np.arange(0, 0.05, 0.001)
x, y = np.meshgrid(x, y)
z = (3*x+y-x*x-np.sqrt(2*x*x*x-3*x*x*x*x+x*x+22*x*x*y-22*x*y-12*x*x*x*y-8*x*x*y*y+12*x*y*y-7*y*y))/(2*x+2*y)

for row in range(len(z)):
for col in range(len(z[0])):
z[row][col] = fun(z[row][col])

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_zlim3d(0.6,1.0)
ax.zaxis.set_major_locator(LinearLocator(5))#Z轴显示5个刻度值

norm = colors.Normalize(vmin=0.6,vmax=1.0)
ax.xaxis.set_major_formatter(FuncFormatter(to_percent))#将X,Y,Z轴的坐标轴放大100倍
ax.yaxis.set_major_formatter(FuncFormatter(to_percent))
ax.zaxis.set_major_formatter(FuncFormatter(to_percent))

ax.set_xlabel(r'$\alpha$(%)')
ax.set_ylabel(r'$\theta$(%)')
ax.set_zlabel(r'$\gamma^{*}$(%)')#坐标轴

surf = ax.plot_surface(x, y, z,
cmap=cm.coolwarm,
linewidth=0,
norm=norm,
antialiased=False,
edgecolor='none')
ax.contourf(x,y,z,zdir='z',offset=-2,cmap='rainbow')


修改colorbar的刻度为百分的形式

def fmt(x,pos):
print(x)
# a, b = '{:2.2e}'.format(x).split('e')
# b = int(b)
return r'${}$%'.format(int(x*100))
cbar = plt.colorbar(surf,shrink=0.5, aspect=5,format=ticker.FuncFormatter(fmt))#format用来修改调色板的刻度值
cbar.set_ticks([.6,.7,.8,.9,1.0]) plt.tight_layout()
plt.savefig('实验图.svg',dpi=600) #指定分辨率保存
plt.show()　　

未修改前修改后       alpha：0.0-0.5 theta：0.00-0.05 gamma：0.60-1.00 colorbar：0.60-1.00  alpha：0:50（每个乘以100） theta：0-5（每个乘以100） gamma：60-100（每个乘以100） colorbar：60%-100%（每个乘以100）

参考文献：
【1】matplotlib 修改坐标轴刻度值，刻度个数
【2】解决python画图中colorbar设置刻度和标签字体大小
【3】Matplotlib：给子图添加colorbar（颜色条或渐变色条）

转载于:https://www.cnblogs.com/nxf-rabbit75/p/10965067.html
展开全文
• 展开全部matplotlib的2113pyplot子库提供了和matlab类似的绘图API，方5261便用户快速绘制2D图表。例子：# coding=gbk'''Created on Jul 12, 2014python 科学计算4102学习：numpy快速处理数据1653测试@author: 皮皮''...
展开全部
matplotlib的2113pyplot子库提供了和matlab类似的绘图API，方5261便用户快速绘制2D图表。例子：
# coding=gbk
'''
Created on Jul 12, 2014
python 科学计算4102学习：numpy快速处理数据1653测试@author: 皮皮
'''
import string
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':
file = open(E:machine_learningdatasetshousing_datahousing_data_ages.txt, 'r')linesList = file.readlines()
# print(linesList)
linesList = [line.strip().split(,) for line in linesList]
file.close()
print(linesList:)
print(linesList)
# years = [string.atof(x[0]) for x in linesList]
years = [x[0] for x in linesList]
print(years)
price = [x[1] for x in linesList]
print(price)
plt.plot(years, price, 'b*')#,label=$cos(x^2)$)plt.plot(years, price, 'r')
plt.xlabel(years(+2000))
plt.ylabel(housing average price(*2000 yuan))plt.ylim(0, 15)
plt.show()

已赞过
已踩过<
你对这个回答的评价是？
评论
收起
展开全文
• 本篇仅针对使用matplotlib画3D曲面图，其他类型的3D图可根据本实例举一反三进行绘制。 具体步骤： 1、Pycharm如果没有matplotlib，第一部需要先安装matplotlib 点击File——Setting 选择 Project:deeplearning(项目...
本篇仅针对使用matplotlib画3D曲面图，其他类型的3D图可根据本实例举一反三进行绘制。
具体步骤：
1、Pycharm如果没有matplotlib，第一部需要先安装matplotlib
点击File——Setting

选择 Project:deeplearning(项目名字) ——>Python Interpreter ,点击图中所示“加号”

点击”加号“之后在跳出的页面中，搜索matplotlib，选择matplotlib，点击Install Package，而后进行安装。

安装成功会出现的内容如图：

2、安装matplotlib成功之后，就可以在项目中成功引用和使用matplotlib， 首先引入matplotlib.pyplot，而后将projection="3d" 关键字参数传递给来创建的Figure.add_subplot，具体代码如下：以下代码画的是 以W、B、1_sum/3为参数的3D曲面图。
import matplotlib.pyplot as plt

# 引入matplotlib 3D画图
fig = plt.figure()

# 引入matplotlib 中的3D曲面图
ax.plot_surface(W, B, l_sum / 3)   #将W,B,1_sum/3 三个参数传入
plt.show()
注：在 3.2.0 版更改：在 Matplotlib 3.2.0 之前，有必要显式导入 mpl_toolkits.mplot3d模块以使 '3d' 投影到 Figure.add_subplot.
plot_surface()中更多参数的取值、规格以及更多类型的3D图，见官网：The mplot3d Toolkit — Matplotlib 3.4.3 documentation


展开全文
• 主要介绍了matplotlib在python上绘制3D散点实例详解，首先介绍了官网的实例，然后分享了本文简单代码示例，具有一定借鉴价值，需要的朋友可以了解下。
• 使用python中的Matplotlib +Tkinter 绘制3D图 Python提供了类似于MATLAB的2D绘图库,3D绘图库 将matplotlib绘制的图表镶嵌入tkinter做的界面中,tkinter是python的一个GUI库，有时候PC端UI界面上需要显示复杂的图时候...
• 本博客介绍如何使用 matplotlib 绘制简单的图形，并介绍保存图片的方法。 matplotlib 可以绘制出很高级，很复杂的图形，本篇博客不做介绍，可以查看官方文档，写的很清楚，这里仅对部分使用频率比较高的图形做介绍 ...
• Matplotlib画三维最基本的三维是由(x, y, z)三维坐标点构成的线图与散点，可以用ax.plot3D和ax.scatter3D函数来创建，默认情况下，散点会自动改变透明度，以在平面上呈现出立体感三维的线图和散点#绘制...
用Matplotlib画三维图
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图，可以用ax.plot3D和ax.scatter3D函数来创建，默认情况下，散点会自动改变透明度，以在平面上呈现出立体感
三维的线图和散点图
#绘制三角螺旋线
from mpl_toolkits import mplot3d
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
ax = plt.axes(projection='3d')
#三维线的数据
zline = np.linspace(0, 15, 1000)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline, yline, zline, 'gray')
# 三维散点的数据
zdata = 15 * np.random.random(100)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens')

三维等高线图
def f(x, y):
return np.sin(np.sqrt(x ** 2 + y ** 2))
x = np.linspace(-6,6,30)
y = np.linspace(-6,6,30)
X, Y = np.meshgrid(x, y)
Z = f(X,Y)
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.contour3D(X, Y, Z, 50, cmap='binary')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
#调整观察角度和方位角。这里将俯仰角设为60度，把方位角调整为35度
ax.view_init(60, 35)

线框图和全面图
全面图和线框图相似，只不过线框图的每一个面都是由多边形构成。只要增加唉一个配色方案来填充这些多边形，就可以感受到可视化图形表面的拓扑结构了。
#线框图
fig =plt.figure()
ax = plt.axes(projection='3d')
ax.plot_wireframe(X, Y, Z, color='c')
ax.set_title('wireframe')

#曲面图
ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='viridis', edgecolor='none')
ax.set_title('surface')

#使用极坐标可以获得切片的效果
r = np.linspace(0, 6, 20)
theta = np.linspace(-0.9 * np.pi, 0.8 * np.pi, 40)
r, theta = np.meshgrid(r, theta)
X = r * np.sin(theta)
Y = r * np.cos(theta)
Z = f(X, Y)
ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='viridis', edgecolor='none')

曲面三角剖分
在某些应用场景下，上述这些要求均匀采样的网格数据显得太过严格且不太容易实现。这时就可以使用三角剖分部分图形。
theta = 2 * np.pi * np.random.random(1000)
r = 6 * np.random.random(1000)
x = np.ravel(r * np.sin(theta))
y = np.ravel(r * np.cos(theta))
z = f(x, y)
ax = plt.axes(projection='3d')
ax.scatter(x, y, z, c=z, cmap='viridis', linewidth=0.5)

#上图还有许多地方需要修补，这些工作可以由ax.plot_trisurf函数帮助我们完成。它首先找到一组所有点都连接起来的三角形，然后用这些三角形创建曲面
ax = plt.axes(projection='3d')
ax.plot_trisurf(x, y, z, cmap='viridis', edgecolor='none')

莫比乌斯带（应用曲面三角剖分）
#绘制莫比乌斯带
#由于它是一条二维带，因此需要两个内在维度。theta维度取值范围是0～2pi，宽度维度w取值范围是-1～1
theta = np.linspace(0, 2 * np.pi, 30)
w = np.linspace(-0.25, 0.25, 8)
w, theta = np.meshgrid(w, theta)
phi = 0.5 * theta
#x-y平面内的半径
r = 1 + w * np.cos(phi)
x = np.ravel(r * np.cos(theta))
y = np.ravel(r * np.sin(theta))
z = np.ravel(w * np.sin(phi))
#要画出莫比乌斯带，还必须保证三角部分是正确的。最好的方法是首先用基本参数化方法定义三角部分，然后用Matplotlib将
#这个三角剖分映射到莫比乌斯带的三维空间里
from matplotlib.tri import Triangulation
tri = Triangulation(np.ravel(w), np.ravel(theta))
ax = plt.axes(projection='3d')
ax.plot_trisurf(x, y, z, triangles=tri.triangles, cmap='viridis', linewidth=0.2)
ax.set_xlim(-1, 1);ax.set_ylim(-1,1);ax.set_zlim(-1,1)

到此这篇关于如何用Matplotlib 画三维图的示例代码的文章就介绍到这了,更多相关Matplotlib 三维图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家！
展开全文
• Matplotlib 是 Python 的绘图库...因为实现的是三维绘图，所以需要另外一个模块Axes3D，这是是 Matplotlib 里面专门用来三维的工具包。 import numpy as np from matplotlib import pyplot as plt from mpl_toolki
• 本篇文章主要介绍了python中Matplotlib实现绘制3D图的示例代码，具有一定的参考价值，有兴趣的可以了解一下
• 注意：我的都是17关节点的，其他数量的关节点请对照着改。 输入： [[9.07790224, -72.22343977, -76.2384473, -14.76985357, 93.36553108, 37.00967529, 50.77555181, 23.629042, -8.17606904, -55.17824984, ...
• 3D 柱状 按行/列涂颜色 柱加阴影、描黑边 自定义座标轴名、刻度标签、范围 Code import numpy as np import matplotlib matplotlib.rcParams['font.family'] = 'Times New Roman' matplotlib.rcParams['mathtext....
• ## Matplotlib之3D图像

千次阅读 2019-07-23 16:34:15
怎样出如下所示的3D图像： 代码如下： import matplotlib.pyplot as plt from numpy import * from mpl_toolkits.mplot3d import Axes3D #设置坐标轴 fig=plt.figure() #定义一个窗口 ax=Axes3D(fig) #在窗口...
• matplotlib是python中能...下面是用matplotlib画的一个3d图 看得太快真的是一边看一边忘啊 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax ...
• 3D图形在数据分析、数据建模、图形和图像处理等领域中都有着广泛的应用，下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制，包括3D散点、3D表面、3D轮廓、3D直线（曲线）以及3D文字等的绘制。...
• 本文参考自matplotlib官方教程 介绍了3D曲线和散点的绘制，以后可能会添加更复杂图形的绘制方法。 开始
• python 2.7版本，已亲测可用 # 2D 隐函数绘图，如椭圆等 # 绘制3D静态散点 # 绘制3D静态线型 # 绘制3D静态曲面 # 绘制3D动态散点 # 绘制3D动态线型
• Matplotlib画三维 最基本的三维是由(x, y, z)三维坐标点构成的线图与散点，可以用ax.plot3D和ax.scatter3D函数来创建，默认情况下，散点会自动改变透明度，以在平面上呈现出立体感 三维的线图和散点...
• 使用matplotlib绘制3D立方体
• ①用pyplot的figure()函数可以创建一个figure对象②以它为参数创建Axes3D对象，使之具有3D坐标轴③pyplot的show()方法可以显示所有figure对象*显示两个3D坐标轴[python] view plain copyimport matplotlib.pyplot...
• 最近学了matplotlib，想要在绘制3D图像的时候插入图片，但在网上找来找去没找到比较好的，唯一找到的一个速度有点慢。于是就自己动手吧。 先放下在stackoverflow看到的答案： # 注释为国外大佬写的，汉字部分我的...
• matplotlib——3D图 实验目的 熟练掌握matplotlib3D图的绘制方法 实验原理 Matplotlib 也可以绘制 3D 图像，与二维图像不同的是，绘制三维图像主要通过 mplot3d 模块实现。但是，使用 Matplotlib 绘制三维图像实际...
• 今天小编就为大家分享一篇解决python中用matplotlib画多幅时出现图形部分重叠的问题，具有很好的参考价值，希望对大家有所帮助。一起跟随小编过来看看吧
• matplotlib画3D图形时设置z轴尺寸 参考链接：https://www.osgeo.cn/matplotlib/api/_as_gen/mpl_toolkits.mplot3d.axes3d.Axes3D.html 百度了很多都说是使用Axis3D中的ax.set_zticks()，发现不起作用，查看参考链接...
• 本文实例讲述了Python使用matplotlib绘制动画的方法。分享给大家供大家参考。具体分析如下： matplotlib从1.1.0版本以后就开始支持绘制动画 下面是几个的示例： 第一个例子使用generator，每隔两秒，就运行函数data_...
• 简单的例子 参考：https://matplotlib.org/...from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ...的形式的3D ax1 = fig.add_subplot
• 本文实例讲述了Python柱状统计操作。分享给大家供大家参考，具体如下： 一、工具：python的matplotlib.pyplot 库 二、案例： import matplotlib.pyplot as plt import numpy as np #添加图形属性 plt.xlabel('...
• ## python （matplotlib）画三维图像

万次阅读 多人点赞 2019-08-24 17:09:31
推荐：三维绘图，三维图，3d图-英文版 上面写的都非常详细，很推荐，特别是英文版那个，基于此，只给我写的一个例子 三维图 出2维不相关高斯分布的3维图，即下面公式中n=2的情况 import numpy as np ...

...