1

我试图将两个散点图并排放置,并使用一个共享的 y 轴,但该轴似乎有一个奇怪的比例。如果没有共享轴,这两个图看起来很好。我还注意到使用“plot”而不是“scatter”时不会出现问题。图像包括在下面。这是我正在使用的代码。

#!/usr/bin/python

import matplotlib.pyplot as plt

fig = plt.figure(1)
for i in range(1,3):
    if i == 1:
        ax = fig.add_subplot(1,2,i)
    else:
        fig.add_subplot(1,2,i, sharey=ax)

    #plt.plot([5.0], [1],marker="*",color='tomato')
    plt.scatter([5.0], [1], s=20, color='tomato')

plt.show()

[我会包含图像,但该网站不会让我作为新手。] 当我运行上面的代码时,我看到的图的 y 轴从 0.0000 到 0.0008,单点绘制在 0.0004。在没有共享轴的情况下,y 轴从 0.94 变为 1.06,在 1.00 处绘制了一个点,正如预期的那样。

谁能告诉我为什么?这是错误还是功能?

matplotlib:Ubuntu 10.04 LTS 上的 0.99.1.2-3ubuntu - Lucid Lynx

4

1 回答 1

0

我没有回答为什么的问题,但这里是如何摆脱它:在你的代码片段中,给出scatter三点来绘制

plt.scatter([1.0,2,3], [1.1,2.2,2.9], s=20, color='tomato')

为我工作(Lucid 上的 matplotlib 1.1.0)。

我只能猜测它scatter试图比plot轴限制更聪明一点,但无论它在做什么,它只会为一个点而疯狂。

于 2012-03-23T08:35:18.113 回答