使用 matplotlib 在曲面/等高线图中绘制 3 元组数据点
我有一些由外部程序生成的表面数据作为 XYZ 值。我想使用 matplotlib 创建以下图形:
- 曲面图
- 轮廓图
- 覆盖有曲面图的轮廓图
我已经查看了在 matplotlib 中绘制曲面和轮廓的几个示例 - 然而,Z 值似乎是 X 和 Y 的函数即Y ~ f(X,Y)。
我假设我需要以某种方式转换我的 Y 变量,但我还没有看到任何示例来说明如何执行此操作。
所以,我的问题是:给定一组 (X,Y,Z) 点,如何从该数据生成曲面图和等高线图?
顺便说一句,只是为了澄清,我不想创建散点图。另外,虽然我在标题中提到了 matplotlib,但我并不反对使用 rpy(2),如果这允许我创建这些图表的话。
I have some surface data that is generated by an external program as XYZ values. I want to create the following graphs, using matplotlib:
- Surface plot
- Contour plot
- Contour plot overlayed with a surface plot
I have looked at several examples for plotting surfaces and contours in matplotlib - however, the Z values seems to be a function of X and Y i.e. Y ~ f(X,Y).
I assume that I will somehow need to transform my Y variables, but I have not seen any example yet, that shows how to do this.
So, my question is this: given a set of (X,Y,Z) points, how may I generate Surface and contour plots from that data?
BTW, just to clarify, I do NOT want to create scatter plots. Also although I mentioned matplotlib in the title, I am not averse to using rpy(2), if that will allow me to create these charts.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要绘制等高线图,您需要将数据插值到规则网格http: //www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data
一个简单的例子:
对于表面 http://matplotlib.sourceforge.net/examples/mplot3d/surface3d_demo.html
3D 轮廓 http://matplotlib.sourceforge.net/examples/mplot3d/contour3d_demo.html
for do a contour plot you need interpolate your data to a regular grid http://www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data
a quick example:
for the surface http://matplotlib.sourceforge.net/examples/mplot3d/surface3d_demo.html
contour in 3D http://matplotlib.sourceforge.net/examples/mplot3d/contour3d_demo.html
使用 pandas 和 numpy 导入和操作数据,使用 matplot.pylot.contourf 绘制图像
示例图像
With pandas and numpy to import and manipulate data, with matplot.pylot.contourf to plot the image
Example Image
使用 rpy2 + ggplot2 绘制等高线图:
使用 rpy2 + 晶格绘制曲面图:
Contour plot with rpy2 + ggplot2:
Surface plot with rpy2 + lattice: