如何在 Python 中绘制多元函数?
How to plot a multivariate function in Python?
在 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')
多变量可视化的等效项是什么?
您可以使用 mplot3d
。对于散点图,您可以使用
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xs, ys, zs)
最常见的方法是改变散点符号的颜色 and/or 大小。例如:
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()
这是你想要的吗?
)
在 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')
多变量可视化的等效项是什么?
您可以使用 mplot3d
。对于散点图,您可以使用
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xs, ys, zs)
最常见的方法是改变散点符号的颜色 and/or 大小。例如:
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()
这是你想要的吗?