Matplotlib中的三维散点图

7

我有一个简单的使用情景:

我有3个变量,x、y和z。

我想要将z作为x和y的函数绘制成三维图。


那么你有两个选项还是一个选项? - Nicolas Gervais
@NicolasGervais 二维图表会更好,因此一个选项是真的。 - tstseby
文档中的示例将是这个 - ImportanceOfBeingErnest
1个回答

14

关于你的两个选项,这里是一个可重复使用的示例,演示了一个三维图形,其中z和颜色是xy的函数:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

x = np.random.rand(20)
y = np.random.rand(20)
z = x*y

fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z,
           linewidths=1, alpha=.7,
           edgecolor='k',
           s = 200,
           c=z)
plt.show()

enter image description here

这里是一个例子,其中 z 是关于 xy 的函数,但仅限于二维平面。

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(20)
y = np.random.rand(20)
z = x*y

fig = plt.figure(figsize=(6, 6))
plt.scatter(x, y,
           linewidths=1, alpha=.7,
           edgecolor='k',
           s = 200,
           c=z)
plt.show()

输入图像描述


谢谢!你能把二维图的代码也发一下吗? - tstseby
1
是的,抱歉,不知怎么的我忘记了。 - Nicolas Gervais
有没有办法为这些颜色添加图例?(这样我就知道每种颜色实际代表什么了吗?) - Jorge Lopez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接