我有一些外部程序作为XYZ值生成的表面数据。我想使用matplotlib创建以下图形:
我看了几个在matplotlib中绘制表面和轮廓的示例-但是,Z值似乎是X和Y的函数,即Y〜f(X,Y)。
我认为我将需要转换我的Y变量,但是我还没有看到任何显示该操作方法的示例。
因此,我的问题是这样的:给定一组(X,Y,Z)点,如何从该数据生成曲面和轮廓图?
顺便说一句,为澄清起见,我不想创建散点图。另外,尽管我在标题中提到了matplotlib,但我不反对使用rpy(2),如果那样可以允许我创建这些图表。
要进行 轮廓图绘制,
您需要将数据插值到常规网格http://www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data
一个简单的例子:
>>> xi = linspace(min(X), max(X))
>>> yi = linspace(min(Y), max(Y))
>>> zi = griddata(X, Y, Z, xi, yi)
>>> contour(xi, yi, zi)
用于 表面
http://matplotlib.sourceforge.net/examples/mplot3d/surface3d_demo.html
>>> from mpl_toolkits.mplot3d import Axes3D
>>> fig = figure()
>>> ax = Axes3D(fig)
>>> xim, yim = meshgrid(xi, yi)
>>> ax.plot_surface(xim, yim, zi)
>>> show()
>>> help(meshgrid(x, y))
Return coordinate matrices from two coordinate vectors.
[...]
Examples
--------
>>> X, Y = np.meshgrid([1,2,3], [4,5,6,7])
>>> X
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
>>> Y
array([[4, 4, 4],
[5, 5, 5],
[6, 6, 6],
[7, 7, 7]])
3D轮廓
http://matplotlib.sourceforge.net/examples/mplot3d/contour3d_demo.html
>>> fig = figure()
>>> ax = Axes3D(fig)
>>> ax.contour(xi, yi, zi) # ax.contourf for filled contours
>>> show()
问题内容: 我想从均匀分布的2D数据(类似图像的数据)的单个轮廓中获取数据。 基于在类似问题中找到的示例:如何获得轮廓图(matplotlib)绘制的线的(x,y)值? 该调用的结果是: 基于这些图,此结果是有意义的,并且似乎是轮廓线的(y,x)对的集合。 除了手动遍历此返回值,提取直线的坐标并组装线的数组以外,还有更好的方法从对象取回数据吗?从中提取数据时是否有陷阱要注意? 或者,是否有其他选择
问题内容: 我在Python 2.7中使用matplotlib绘制填充的轮廓图。我想将其覆盖在图像上,所以我使用alpha关键字使绘图半透明。当我这样做时,轮廓的主体是正确的透明度,但是轮廓f()在不同级别之间的边界上绘制了不需要的线。我试图用关键字参数linecolor =’none’消除它们,但这没有帮助。 码: CS = map.contourf(xi,yi,zi,25,alpha = 0.
numpy.histogram()函数将输入数组和作为两个参数。 bin数组中的连续元素用作每个bin的边界。 Matplotlib 可以将直方图的数字表示转换为图形。 pyplot子模块的plt()函数将包含数据和数组的数组作为参数,并转换为直方图。
本文向大家介绍在Linux下使用Python的matplotlib绘制数据图的教程,包括了在Linux下使用Python的matplotlib绘制数据图的教程的使用技巧和注意事项,需要的朋友参考一下 如果你想要在Linxu中获得一个高效、自动化、高质量的科学画图的解决方案,应该考虑尝试下matplotlib库。Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证
问题内容: 我有一个3元组的列表,表示3D空间中的一组点。我想绘制一个覆盖所有这些点的表面。mplot3d软件包中的plot_surface函数需要X,Y和Z作为二维数组作为参数。plot_surface是绘制表面的正确函数,如何将数据转换为所需格式? 问题答案: 对于曲面,它与三元组列表略有不同,您应该为2d数组中的域传递网格。 如果您只拥有3d点列表而不是某些函数f(x, y) -> z,那么
问题内容: 每当(至少)两个人尝试在我的应用程序中生成轮廓图时,其中至少一个会收到随机错误,具体取决于第一个人设法绘制的距离。(“未知元素o”,“ ContourSet必须为在当前的轴中”只是两种可能性) 以下是可能会产生错误的缩减测试,如果您尝试一次在2个或多个选项卡中加载此页面,则第一个将正确呈现,而第二个将产生错误。(我发现执行此操作的最简单方法是用鼠标中键几次单击chrome中的刷新页面按