我想创建一个图,其中一些点有一个向下的箭头(见下图)。在天文学中,这说明真正的值实际上比measured.Note的值要低,只有一些点有这个符号。
我想知道如何在matplotlib中创建这样的符号。有没有我可以使用的向下箭头符号?
提前感谢您的帮助!
发布于 2013-06-01 00:04:22
好的。
调用matplotlibs plot函数时,设置一个marker
caretdown
这样的东西对你不起作用,你可以通过传递一个(x,y)对列表来创建自己的标记,这些对被传递给路径艺术家。x/y为0…1规格化坐标缩放到设置的标记大小。Path
实例作为marker
传递,这允许tom10在注释中提到更多flexibility.$…$
形式的字符串作为标记,其中…
是任意文本,包括字符,如果您的字体支持它(现在应该是这样)。Unicode中的向下箭头:以$\u2193$
作为标记的↓(或\u2193
。请注意,这必须是Python 2.x前缀u)中的unicode字符串。Unicode Block Arrows @ Wikipedia
Arrow
实例作为标记传递,但我不确定这是否有效。发布于 2013-06-01 09:43:32
Tom0和Dom0回答了我的问题。然而,我只是想帮助像我这样的新手了解如何绘制这些箭头。下面是我找到并编辑的代码,以包含上面的示例和建议中所说的内容。我希望这能帮助人们迅速理解。我不是在寻求任何观点。
如果你喜欢这个例子,请感谢Dom0,而不是我。:-)
import numpy as np
import matplotlib.pyplot as plt
symbols = [u'\u2193'] # this helps you get the symbol
x = np.arange(10.)
y = np.exp(-x/2.)
plt.figure()
for i, symbol in enumerate(symbols):
y2 = np.exp(-x/2.)
plt.plot(x, y, 'o') # plotting with field circles
plt.plot(x, y2, 'g') # plotting with green line
for x0, y0 in zip(x, y2):
plt.text(x0, y0, symbol, fontname='STIXGeneral', size=30, va='center', ha='center', clip_on=True)
plt.show()
发布于 2016-04-28 02:38:17
看看下面的示例代码:http://matplotlib.org/examples/pylab_examples/errorbar_limits.html
或者:另一种简单的方法:
arrow = u'$\u2193$'
ax.plot(x, y, linestyle='none', marker=arrow, markersize=10)
https://stackoverflow.com/questions/16861339
复制相似问题