我有一个散点图,使用六个不同的符号来绘制点。例如,下面的代码用向下的三角形符号绘制一个点:
my_axis.scatter([x], [y], marker='v')
每个符号代表不同类别的对象。我需要在不同的图表中引用散点图中使用的符号,条形图解释散点图中每个聚类中每个类的比例。
如何让条形图的标签使用用于散点图标记的符号?正如您在下图中所看到的,每个条形下的标签应该与图表中的标记相对应,但它们不会,因为我不知道如何在散点图的上下文之外召唤标记。相反,它们只显示标记的代码字母(例如v而不是真正的三角形)。
忽略百分比的乱码线全部重叠的事实,这是我将要解决的另一个问题。
如果符号是我在某处可以找到的UTF-8符号,我可以手动将符号添加到条形图图例中,但我无法找到每个标记可能是哪个字符的确切规范。 / p>
我也在考虑使用带有文字UTF-8字符的.text(),而不是.scatter(),但是即使我选择带有fontproperties的Unicode字体,许多符号也不会呈现(显示为正方形),所以我坚持这种方法。
感谢您的帮助!
答案 0 :(得分:3)
使用Latex是一个相当简单的解决方案。例如:
from matplotlib import rc
rc('text', usetex=True)
plt.xticks(ind+width/2., ("$\lozenge$", "$\square$", "$\plus$", "o", "$\bigtriangledown$") )
如果你需要帮助找出符号的名称,this是一个很棒的小网站,它允许你绘制你想要的符号,它将输出LaTex名称。
答案 1 :(得分:0)
看起来使用Unicode / LaTeX文本是最好的方法,根据这个:
http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg19442.html
我会在计算出来时添加更多细节。