我想创建一个点,其中一些点有一个向下的箭头(参见下图)。在天文学中,这表明真实值实际上低于测量值。注意只有一些点具有这个符号。matplotlib中的向下箭头符号
我想知道如何在matplotlib中创建这样的符号。是否有可以使用的向下箭头符号?
感谢您的帮助提前!
我想创建一个点,其中一些点有一个向下的箭头(参见下图)。在天文学中,这表明真实值实际上低于测量值。注意只有一些点具有这个符号。matplotlib中的向下箭头符号
我想知道如何在matplotlib中创建这样的符号。是否有可以使用的向下箭头符号?
感谢您的帮助提前!
当然可以。
当调用matplotlibs绘图功能,设置marker
caretdown
东西不适合你,你可以通过的(X,Y)对,这是一个列表创建自己的标记传递给路径艺术家。 x/y是0 ... 1归一化坐标,它们被缩放到设置的标记大小。Path
实例作为传递,这可以实现更大的灵活性。$…$
的形式将字符串作为标记传递,其中…
是任意文本,包括Unicode字符,如果您的字体支持它(这些日子应该是这种情况)。 Unicode中的向下箭头:↓(或\u2193
,导致$\u2193$
作为标记。请注意,这必须是Python 2.x中的unicode字符串[前置])。 Unicode Block Arrows @ WikipediaArrow
实例作为标记,但我不确定这是否有效。我的问题的答案由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()
看看这个例子代码:http://matplotlib.org/examples/pylab_examples/errorbar_limits.html
OR: 另一种简单的方法来做到这一点:
arrow = u'$\u2193$'
ax.plot(x, y, linestyle='none', marker=arrow, markersize=10)
Unicode图表箭头(所有箭头列表):https://en.wikipedia.org/wiki/Template:Unicode_chart_Arrows – Hermione
Matplotlib支持在内置乳胶的一个子集在称为mathtext的模块中。主要目的是正确渲染数学和科学方程和符号,但也有大量的箭头符号可以很容易地用于您的图形。以下链接是编写数学表达式的教程。靠近页面底部的是大约80个箭头符号的列表。
https://matplotlib.org/users/mathtext.html#mathtext-tutorial
实例:
plt.plot(x, y, marker=r'$\uparrow$')
plt.plot(x, y, marker=r'$\downarrow$')
1:你也可以使用符号从字体(HTTP://计算器。com/questions/15866862/matplotlib-custom-markers),并且有很多箭头,但由于箭头非常容易,所以我喜欢'Path'建议。 – tom10
是的,\ u333是最简单快捷的方式! – Rohit