我正在尝试绘制3d曲面,其中三个维度中的每个维度都在单独的值数组中,并且每个坐标处的曲面着色是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)

哪里

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.

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)

实际上,sigma_los_beta是我单独求值的数组,形状为(50,353,50),而那些353是我必须拥有的数据。

如何将该函数转换为与plot_trisurf的其他条目兼容的形式?

抱歉,但是我无法提供最少的工作代码,因为dv,v和u是数据。

非常感谢您的帮助。干杯

参考方案

This答案解决了4d表面绘图问题。它使用matplotlib的plot_surface函数而不是plot_trisurf。

基本上,您希望将x,y和z变量重塑为相同尺寸的2d数组。要将第四个尺寸添加为颜色图,必须提供另一个与尺寸轴变量尺寸相同的二维数组。

以下是3d图的示例代码,其色图与x值相对应。 facecolors参数用于根据您的喜好更改颜色图。请注意,它的值是从to_rgba()类中的matplotlib.cm.ScalarMappable函数获取的。

import matplotlib

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

# domains

x = np.logspace(-1.,np.log10(5),50) # [0.1, 5]

y = np.linspace(6,9,50) # [6, 9]

z = np.linspace(-1,1,50) # [-1, 1]

# convert to 2d matrices

Z = np.outer(z.T, z) # 50x50

X, Y = np.meshgrid(x, y) # 50x50

# fourth dimention - colormap

# create colormap according to x-value (can use any 50x50 array)

color_dimension = X # change to desired fourth dimension

minn, maxx = color_dimension.min(), color_dimension.max()

norm = matplotlib.colors.Normalize(minn, maxx)

m = plt.cm.ScalarMappable(norm=norm, cmap='jet')

m.set_array([])

fcolors = m.to_rgba(color_dimension)

# plot

fig = plt.figure()

ax = fig.gca(projection='3d')

ax.plot_surface(X,Y,Z, rstride=1, cstride=1, facecolors=fcolors, vmin=minn, vmax=maxx, shade=False)

ax.set_xlabel('x')

ax.set_ylabel('y')

ax.set_zlabel('z')

fig.canvas.show()

我引用的答案(和其他答案)提到您应该标准化第四维数据。似乎可以像我在代码示例中所做的那样,通过显式设置颜色图的限制来避免这种情况。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…Matplotlib-固定x轴缩放比例和自动缩放y轴 - python

我只想绘制部分数组,固定x部分,但让y部分自动缩放。我尝试如下所示,但是它不起作用。有什么建议么?import numpy as np import matplotlib.pyplot as plt data=[np.arange(0,101,1),300-0.1*np.arange(0,101,1)] plt.figure() plt.scatter(da…Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…Python:无法识别Pip命令 - python

这是我拍摄的屏幕截图。当我尝试在命令提示符下使用pip时,出现以下错误消息:pip无法识别为内部或外部命令,可操作程序或批处理文件。我已经检查了这个线程:How do I install pip on Windows?我所能找到的就是我必须将"C:\PythonX\Scripts"添加到我的类路径中,其中X代表python版本。如您在我的…

python三维图如何标注曲面_(python)使用colormap作为第4维,x,y,z函数绘制3d曲面 - python...相关推荐

  1. python三维图如何标注曲面_Matplotlib:Python三维绘图

    1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式,一种是利用关键字projection='3d'来实现,另一种是通过从mpl_toolkits.mplot3d导入对象Axes3D来实 ...

  2. python三维图能画地图_使用Python绘制地图的三大秘密武器

    原标题:使用Python绘制地图的三大秘密武器 Python地图可视化库有大家熟知的pyecharts.plotly.folium,还有稍低调的bokeh.basemap.geopandas,也是地图 ...

  3. Matplotlib 绘制 3D 曲面动画

    Matplotlib 绘制 3D 曲面动画 本文介绍如何使用 Python 中的 Matplotlib 库来绘制动态的 3D 曲面.示例如下: 环境 macOS 11.6 python 3.8 数据 ...

  4. python 三维图直方图_Python | 阶梯直方图

    python 三维图直方图 A histogram is a graphical technique or a type of data representation using bars of di ...

  5. python x y z 1_Python下的数值列表 - range(x,y,z)函数

    本文讨论Python下的数值列表 - range(x,y,z)函数的应用,并分析其计数过程. 本文节选自作者的<Python编程基础及应用>视频教程.Python编程基础及应用_哔哩哔哩 ...

  6. python三维图的坐标_六维图见过么?Python 画出来了

    作者 | Prasad Ostwal 译者 | 高级农民工 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过, ...

  7. python三维图的坐标_用Python 画个六维图,涨姿势了

    关注后你就是我的人了 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过,我们仍然可以绘制出多维空间,今天就来用 ...

  8. python三维图视角旋转_如何在python中旋转3d图? (或作为动画)使用鼠标旋转三维视图...

    我有这段代码,其中包含一个3D图.我在Spyder中运行代码;我想知道是否可以使这个绘图旋转(360度)并保存. 谢谢! P.s.对不起,如果这是一个愚蠢的问题,但我是Python的newby.如何在 ...

  9. python三维图怎么显示_如何在python中绘制多个回归3D图

    我不是科学家,所以请假设我不知道有经验的程序员的行话,或者科学绘图技术的复杂性. Python是我所知道的唯一语言(初学者,也许是中级). 任务:将多元回归的结果(z = f(x,y))绘制为3D图形 ...

最新文章

  1. 用了3年Apollo,这次我选择了Nacos,原因不多说了
  2. 第五天2017/04/06(上午:文件的“读写操作”)
  3. [leetcode-515-Find Largest Value in Each Tree Row]
  4. 解决ADB server didn't ACK问题,连上手机问题
  5. Intellij IDEA中maven更新不下来pom中的jar包,reimport失效
  6. WinUI 3 Preview 3 发布了,再一次试试它的性能
  7. 【Spark】扩展Spark Catalyst,打造自定义的Spark SQL引擎
  8. springcloud工作笔记097---idea集成Mapper接口点击后自动跳转到对应的xml文件中
  9. 一个 ARK工具: XueTr类似ICEWORLD
  10. 网站性能优化小结和spring整合redis
  11. PKMS的queryIntentActivities分析
  12. Android11新版本,一加8系列喜提Android11稳定版更新
  13. 8Manage助力花安堂打造新品研发项目管理平台
  14. 主动轮廓模型——Snake分割算法 matlab源码
  15. 经纬度距离计算小工具_一个NB工具大合集打网站,总有一款是你需要的
  16. Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
  17. android环信透传,环信高级篇-透传和拓展
  18. 程序员有话说,只务正业就够了吗?
  19. python字符串设置字体_[4] Python字符串
  20. 用户需知:ComingChat的现在和未来——深度解析

热门文章

  1. 计算机桌面内存,怎么看电脑内存大小
  2. 有趣的自然语言处理资源集锦
  3. 虎牙直播获“2018年度公益传播奖”
  4. 超时空的爱情--胡彦斌
  5. C#将Excel转为PDF,添加引用iTextSharp
  6. 涟源举办系列文旅活动推动湖南文旅产业发展!
  7. java局域网组建与维护题_局域网组建与维护习题(有答案).doc
  8. 设置本机登录ssh不需要密码
  9. css3南瓜幽灵动画代码
  10. Mac安装Git,并直接替换系统Git