matplotlib画3D图的问题

baidu_35586278 2016-07-12 05:55:41
​如果我画三维图的Z是由文件读取的矩阵,那么它就不是由X,Y计算得出的,这种情况下,怎么才能画出三维图,网上的例子都是由X,Y计算Z
...全文
511 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jacky_WZN 2017-09-12
  • 打赏
  • 举报
回复
试试rasterio模块,用rio,open(路径)打开你的txt试试
xhhszc 2017-07-28
  • 打赏
  • 举报
回复
您好 ,同求问! 请问楼主现在解决了吗 怎么解决的
xiaoleisj0 2016-07-15
  • 打赏
  • 举报
回复
首先说下作图我不懂 然后既然例子是XY求Z做图 那么楼主不能逆向反算XY吗
baidu_35586278 2016-07-13
  • 打赏
  • 举报
回复
引用 2 楼 panghuhu250 的回复:

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

fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
                       linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

fig.colorbar(surf, shrink=0.5, aspect=5)

plt.show()
这是文档中的例子, Z就是一个矩阵. 事实上, 即使你要画一个函数, 也要根据该函数求出相应的Z矩阵.
您好,这个例子我看过,它的Z是直接算出来的,但是在实际中,我想由一个TXT文本读入一个矩阵Z,这时它不是算出来的,请问怎么跟文本中自己的行X列Y去匹配画出来
baidu_35586278 2016-07-13
  • 打赏
  • 举报
回复
您好,这个例子我看过,它的Z是直接算出来的,但是在实际中,我想由一个TXT文本读入一个矩阵Z,这时它不是算出来的,请问怎么跟文本中自己的行X列Y去匹配画出来
panghuhu250 2016-07-12
  • 打赏
  • 举报
回复

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

fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
                       linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

fig.colorbar(surf, shrink=0.5, aspect=5)

plt.show()
这是文档中的例子, Z就是一个矩阵. 事实上, 即使你要画一个函数, 也要根据该函数求出相应的Z矩阵.
baidu_35586278 2016-07-12
  • 打赏
  • 举报
回复
求GUI大神

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧