Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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 pl.errorbar lolims在日志图上_Python_Logging_Matplotlib - Fatal编程技术网

Python pl.errorbar lolims在日志图上

Python pl.errorbar lolims在日志图上,python,logging,matplotlib,Python,Logging,Matplotlib,我试图在代表极限的对数图上绘制各种点。我正在使用matplotlib中的errorbar。但是,箭头的大小因点而异。如何生成恒定大小的限制箭头 我的代码如下: from math import pi import numpy as np import pylab as pl x_1 = np.arange(0.,10.) y_1 = np.arange(11.,20.) x_1_avg = np.sum(x_1)/len(x_1) y_1_avg = np.sum(y_1)/len(y_1)

我试图在代表极限的对数图上绘制各种点。我正在使用matplotlib中的errorbar。但是,箭头的大小因点而异。如何生成恒定大小的限制箭头

我的代码如下:

from math import pi
import numpy as np
import pylab as pl

x_1 = np.arange(0.,10.)
y_1 = np.arange(11.,20.)

x_1_avg = np.sum(x_1)/len(x_1)
y_1_avg = np.sum(y_1)/len(y_1)

x_2 = np.arange(11.,20.)
y_2 = np.arange(21.,30.)

x_2_avg = np.sum(x_2)/len(x_2)
y_2_avg = np.sum(y_2)/len(y_2)


pl.yscale('log')
pl.xscale('log')
pl.errorbar(x_1_avg, y_1_avg, yerr = 2, color = 'g', lolims=-y_1_avg)
pl.errorbar(x_2_avg, y_2_avg, yerr = 2, color = 'r', lolims=-y_2_avg)
pl.savefig('test.eps')
pl.show()

事实上,使用对数比例意味着打印线上的线的长度将根据打印位置而改变。另外,
lolims
是一个布尔值,所以我认为您不想传递一个数值。无论如何,您可以通过使用与errorbar的y坐标成比例的yerr值来补偿长度变化

pl.errorbar(x_1_avg, y_1_avg, yerr = y_1_avg * .5, color = 'g', lolims=True)
pl.errorbar(x_2_avg, y_2_avg, yerr = y_2_avg * .5, color = 'r', lolims=True)

是否可以添加正确显示箭头的图例?我尝试了以下方法:pl.errorbar(x_1_avg,y_1_avg,xerr=None,yerr=y_1_avg*.175,fmt=None,ecolor='g',\lolims=True,capsize=3,elinewidth=1,mew=0,label='One'),但箭头没有出现。