我试图将两个散点图彼此相邻并使用共享的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
答案 0 :(得分:0)
我没有回答问题的原因,但是这里是如何摆脱它:在你的代码片段中,给予scatter
三个点来绘制
plt.scatter([1.0,2,3], [1.1,2.2,2.9], s=20, color='tomato')
适合我(matplotlib 1.1.0 on Lucid)。
我只能猜测scatter
试图比plot
更加聪明,因为轴限制,
但无论它在做什么,它都只是为了一点而疯狂。