相关疑难解决方法(0)

如何使用matplotlib使用任意数据制作4d图

这个问题是与此相关的一个.

我想知道的是如何将建议的解决方案应用于一堆数据(4列),例如:

0.1 0 0.1 2.0
0.1 0 1.1 -0.498121712998
0.1 0 2.1 -0.49973005075
0.1 0 3.1 -0.499916082038
0.1 0 4.1 -0.499963726586
0.1 1 0.1 -0.0181405895692
0.1 1 1.1 -0.490774988618
0.1 1 2.1 -0.498653742846
0.1 1 3.1 -0.499580747953
0.1 1 4.1 -0.499818696063
0.1 2 0.1 -0.0107079119572
0.1 2 1.1 -0.483641823093
0.1 2 2.1 -0.497582061233
0.1 2 3.1 -0.499245863438
0.1 2 4.1 -0.499673749657
0.1 3 0.1 -0.0075248589089
0.1 3 1.1 -0.476713038166
0.1 3 2.1 -0.49651497615
0.1 3 3.1 -0.498911427589 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

18
推荐指数
3
解决办法
2万
查看次数

使用曲面渐变的颜色matplotlib plot_surface命令

我想在matplotlib中将surf命令从MATLAB转换为plot_surface命令.

我面临的挑战是在plot_surface命令中使用cmap函数为渐变着色表面.

这是matlab脚本

% Matlab Commands
x = -5:.25:5; y = x
[x,y] = meshgrid(x);
R = sqrt(x.^2 + y.^2);
Z = sin(R)
surf(x,y,Z,gradient(Z))
Run Code Online (Sandbox Code Playgroud)

这个命令的数字可以在这里找到.(http://www.mathworks.com/help/techdoc/visualize/f0-18164.html#f0-46458)

这是python scipt当使用python和matplotlib创建类似的函数时,我无法使用渐变为表面着色.

# Python-matplotlib Commands
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
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 …
Run Code Online (Sandbox Code Playgroud)

python matlab matplotlib

16
推荐指数
1
解决办法
3万
查看次数

matplotlib 中的 4D 热图

我想通过 matplotlib 在 Python 中绘制 4D 热图,就像这个4d map

我已经有了一组 3D 网格点(x,y,z)及其对应的函数值f

我正在考虑使用plot_surfacewith xyz作为三个必需的数组来绘制它,并使用f.

有一种方法在这里使用f的颜色渐变,但我有麻烦绘制三维网格,我会强调,第三维是独立于前两个。(第二个链接另有说明。)

或者有什么方法可以使用 matplotlib 更好地可视化这个 4D 数据?

python matplotlib 4d

5
推荐指数
1
解决办法
3507
查看次数

(python)绘制带有colormap的3d表面作为第四维,x,y,z的函数

我正在尝试绘制一个三维表面,其中三个维度中的每个维度在一个单独的数组中,每个坐标处的表面着色是x,y,z的函数.一种numpy.pcolormesh,但在4D,而不是3D.3D图由下式给出:

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
fig = plt.figure()
ax = fig.gca(projection='3d')
x = np.logspace(-1.,np.log10(5),50)
y = np.linspace(6,9,50)
z = np.linspace(-1,1,50)
colors = LikeBeta(y,range(50),range(50))
ax.plot_trisurf(x,y,z,cmap=colors,linewidth=0.2)
Run Code Online (Sandbox Code Playgroud)

哪里

def LikeBeta(rho0,r0,beta):
    M0 = 10**rho0*r0_array[r0]**3
    I = cst*M0*sigma_los_beta[beta,:,r0]
    S = dv**2+I
    res = (np.log(S) + (v-u)**2/S).sum()
    return res/2.
Run Code Online (Sandbox Code Playgroud)

可能cmap=colors是错的,但问题出在其他地方.我收到以下错误:

----> 8 colors = LikeBeta(y,range(50),range(50))
----> 4     I = cst*M0*sigma_los_beta[beta,:,r0]
    ValueError: operands could not be broadcast together with shapes (50,) (50,353)
Run Code Online (Sandbox Code Playgroud)

确实sigma_los_beta是一个我单独评估并具有形状的阵列,(50,353,50)而那些353是我必须拥有的数据.

如何将此函数转换为与其他条目兼容的表单plot_trisurf

抱歉,我无法提供最小的工作代码,因为dv,v和u是数据.非常感谢您的帮助.干杯

python 3d matplotlib

2
推荐指数
2
解决办法
9147
查看次数

标签 统计

matplotlib ×4

python ×4

3d ×1

4d ×1

matlab ×1