如何在Python中绘制多元函数图形?

8
在Python中绘制单变量函数很简单,只需要使用matplotlib即可。但我正在尝试向散点图添加第三轴,以便可以可视化多元模型。
下面是包含30个输出的示例代码片段:
import numpy as np
np.random.seed(2)
## generate a random data set
x = np.random.randn(30, 2)
x[:, 1] = x[:, 1] * 100
y = 11*x[:,0] + 3.4*x[:,1] - 4 + np.random.randn(30) ##the model

如果这只是一个单变量模型,我可能会使用以下代码生成图表和最佳适线:
%pylab inline
import matplotlib.pyplot as pl 
pl.scatter(x_train, y_train)
pl.plot(x_train, ols.predict(x_train))
pl.xlabel('x')
pl.ylabel('y')

多元可视化的等效方法是什么?

需要这些东西来进行年度调查吗? - Bhargav Rao
2
@BhargavRao 哈!我需要这些工具来终身学习!尝试扩展我的工具集。但是,是的,那是一个可能的应用。还有很多其他的应用。 - samthebrand
同时在代码中加入 %matplotlib notebook,就可以在浏览器中获得交互式图表(假设这是IPython笔记本,使用IPython > 3.0,mpl > 1.4)。 - tacaswell
3个回答

7
最常见的方法是改变散点符号的颜色和/或大小。例如:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(2)

## generate a random data set
x, y = np.random.randn(2, 30)
y *= 100
z = 11*x + 3.4*y - 4 + np.random.randn(30) ##the model

fig, ax = plt.subplots()
scat = ax.scatter(x, y, c=z, s=200, marker='o')
fig.colorbar(scat)

plt.show()

enter image description here


6

提供的网址无法使用。有其他方式可以获取吗? - undefined

4

您可以使用mplot3d。对于散点图,您可以使用如下代码:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xs, ys, zs)

2
从mpl_toolkits.mplot3d导入Axes3D使其工作。 - kztd

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