我想使用表数据绘制等高线图。我有2个变量和响应(3列)。我不明白如何用它来建造这个地块。我尝试了下面的代码。但我又犯了一个错误:输入z必须是2D的,而不是1D的。
feature_x = data.factor1
feature_y = data.factor2
# Creating 2-D grid of features
[X, Y] = np.meshgrid(feature_x, feature_y)
fig, ax = plt.subplots(1, 1)
Z = data.response
# plots filled contour plot
ax.contourf(X, Y, Z)
ax.set_title('Filled Contour Plot')
ax.set_xlabel('feature_x')
ax.set_ylabel('feature_y')
plt.show()
数据
1条答案
按热度按时间u7up0aaq1#
要绘制等高线图,
z
需要是具有点(x,y)
的所有值的2D矩阵。您可以将等高线绘制所需的数据视为DataFrame,其中索引为x
,列为y
,值为z
。因此,z
需要是形状(x.size, y.size)
的二维阵列。因为您的
z
不是2D矩阵而是1D阵列,所以您不能有等高线图。例如,您可以使用
hue
和/或size
来执行relplot
编辑
但是..。如果您正在寻找连续估计,则可以使用
gaussian_kde
,例如