Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib.pyplot.annotate():使用';轴分数';协调_Python_Python 2.7_Matplotlib_Plot_Annotate - Fatal编程技术网

Python matplotlib.pyplot.annotate():使用';轴分数';协调

Python matplotlib.pyplot.annotate():使用';轴分数';协调,python,python-2.7,matplotlib,plot,annotate,Python,Python 2.7,Matplotlib,Plot,Annotate,当我在水平轴上使用大数字时,我在matplotlib.pyplot.annotate()方面遇到了一些问题,例如,在“从历元开始的秒数”中使用时间数据进行时间序列,数据将达到10^9 以下是一个例子: import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt import os.path import random import calendar save_path='my_path' fig,a

当我在水平轴上使用大数字时,我在matplotlib.pyplot.annotate()方面遇到了一些问题,例如,在“从历元开始的秒数”中使用时间数据进行时间序列,数据将达到10^9

以下是一个例子:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

import os.path

import random

import calendar

save_path='my_path'

fig,ax=plt.subplots(2,sharex=True)
fig.set_size_inches(6,5)

a=int(calendar.timegm((2009,1,1,0,0,0)))
b=int(calendar.timegm((2009,2,1,0,0,0)))
x=xrange(a,b,(b-a)/100)
#x=xrange(0,b-a,(b-a)/100)

y=[random.random() for i in x]
z=[random.random() for i in x]

ax[0].scatter(x,y)
ax[1].scatter(x,z)

for sub in ax:
    sub.set_xlim(x[0],x[-1])

ax[0].annotate('test',(0.1,0.1),textcoords='axes fraction')
ax[1].annotate('test',(0.9,0.9),textcoords='axes fraction')

fig.savefig(os.path.join(save_path,'test.png'),bbox_inches='tight')
plt.close()
带有
x=x范围(a,b,(b-a)/100)
我得到:

x=xrange(0,b-a,(b-a)/100)
我得到:

我不明白为什么第一个案例不起作用,但第二个案例正如预期的那样起作用,我只是基本上减少了数字。
如果我使用“数据”坐标,我没有问题。

你能把示例代码缩短一些吗?有太多的代码,让人们阅读它来帮助你。如果你能让别人更容易地帮助你,你会得到更好的帮助。是的,对不起,我只是简单地说了一句。这个问题还没有很好地表达出来吗?我应该删除并重新创建这篇文章而不是简单地编辑吗?不,绝对不要提出新的问题,这往往会让人恼火。现在问题看起来好多了。你能把示例代码缩短一些吗?有太多的代码,让人们阅读它来帮助你。如果你能让别人更容易地帮助你,你会得到更好的帮助。是的,对不起,我只是简单地说了一句。这个问题还没有很好地表达出来吗?我应该删除并重新创建这篇文章而不是简单地编辑吗?不,绝对不要提出新的问题,这往往会让人恼火。现在这个问题看起来好多了。