我无法在以下对数对数图中绘制一个简单的垂直箭头:
#!/usr/bin/python2
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.yscale('log')
plt.xscale('log')
plt.ylim((1e-20,1e-10))
plt.xlim((1e-12,1))
plt.arrow(0.00006666, 1e-20, 0, 1e-8 - 1e-20, length_includes_head=True)
plt.savefig('test.pdf')
就是不显示。从文档来看,似乎所有参数(如宽度、高度等)都与轴的比例有关。这是非常违反直觉的。我尝试使用 axisartist 包的 twin()
在我的顶部定义一个轴,限制 (0,1)
, (0,1)
来更好地控制箭头的参数,但我无法弄清楚如何在主要轴之上有一个完全独立的轴。
有什么想法吗?
最佳答案
我一直在寻找这个问题的答案,并找到了一个有用的答案!您可以指定任何“mathtext”字符(matplotlib 的 LaTeX 版本)作为标记。尝试: plt.plot(x,y, 'ko', marker=r'$\downarrow$', markersize=20)
这将在位置 (x,y) 绘制一个向下的黑色箭头,在任何绘图(甚至对数对数)上看起来都不错。 有关您可以使用的更多符号,请参阅:matplotlib.org/users/mathtext.html#mathtext-tutorial。
关于python - Matplotlib:在对数对数图中绘制垂直箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782094/