使用图表注释数据点

时间:2016-02-10 12:11:15

标签: matplotlib annotations

由于缺乏更好的术语,有没有办法用图形注释数据点?我在

下面添加了一个示例

大黑色数据点,其中包含与之对应的图表。请注意,图表是旋转的,因此它的" x"轴(未示出)垂直于" y"散点图的轴

annotation_box http://matplotlib.org/examples/pylab_examples/demo_annotation_box.html是目前我能找到的最接近的东西,但即使知道我想要做的事情的正确用语,也会让我的生活更轻松。

1 个答案:

答案 0 :(得分:4)

如果我正确理解了问题,你需要的是浮动轴,你可以将它作为注释放在你的情节上。不幸的是,据我所知,这在matplotlib中并不容易实现。

一个简单的解决方案是只绘制同一轴上的点和图形,图形按比例缩小并移动到接近点。

import numpy as np
import scipy.stats as sps
import matplotlib.pyplot as plt

xp = [5, 1, 3]
yp = [2, 1, 4]

# just generate some curves
curves_x = np.array([np.linspace(0, 10, 100)] * 3)
curves_y = sps.gamma.pdf(curves_x[0], [[2], [5], [7]], 1)

plt.scatter(xp, yp, s=50)

for x, y, cx, cy in zip(xp, yp, curves_x, curves_y):
    plt.plot(x + cy / np.max(cy) + 0.1 , y + cx / np.max(cx) - 0.5)

plt.show()

enter image description here

这是一个非常简单的例子。必须调整这些数字,以便根据不同的数据规模看起来很好。