0

我正在 matplotlib 中绘制散点图,它们的生成效果很好。但是,要显示 x 和 y 之间的相关性,我需要在两个轴上添加直方图作为子图(如本所示)。由于示例中的代码有点复杂,所以我无法了解如何让我的散点图拥有这些。这是我的代码:

import matplotlib.pyplot as plt
import numpy
from statlib import stats
from math import log

x1=numpy.loadtxt("a.txt")
x2 = numpy.loadtxt("b.txt")


x1 = numpy.array(x1)
x2 = numpy.array(x2)
x1 = x1.reshape(82,296)
x2 = x2.reshape(82,296)
x = numpy.vstack([x1, x2])


y1=numpy.loadtxt("c.txt")
y2=numpy.loadtxt("d.txt")

y1 = numpy.array(y1)
y2 = numpy.array(y2)

y1 = y1.reshape(82,296)
y2 = y2.reshape(82,296)

y = numpy.vstack([y1, y2])


plot = plt.scatter(y,x)
plt.grid('on')
plt.xlabel('X')
plt.ylabel('Y')
plt.ylim(-20,1000)
plt.title('Scatter Plot')

plt.show()

任何帮助都会非常有帮助。

4

1 回答 1

1

复制示例中的代码。

找到线路

axScatter.scatter(x, y)

这将创建散点图。将其与您的线路进行比较

plot = plt.scatter(y,x)

它们基本相同,只是xy相反。因此,要将您的代码连接到示例,只需替换

x = np.random.randn(1000)
y = np.random.randn(1000)

(来自示例)与您的代码定义yx.

于 2012-09-23T09:03:58.933 回答