擅长:python、mysql、java
<p>由于您不想使用<code>annotate</code>或<code>text</code>,下一个最好的方法是<code>py.scatter</code>,它将接受一个标记</p>
<pre><code>``'$...$'`` render the string using mathtext.
</code></pre>
<p>例如</p>
<pre><code>import pylab as py
data = [["peach", 1.0, 1.0],
["apples", 19, 3.5],
["oranges", 7, 2.2],
["grapes", 23, 7.8]]
for item in data:
py.scatter(item[1], item[2], s=700*item[1],
c=(item[2]/10.0, 0, 1 - item[2]/10.0),
marker=r"$ {} $".format(item[0]), edgecolors='none' )
py.show()
</code></pre>
<p><img src="https://i.stack.imgur.com/TXQez.png" alt="Example"/></p>
<p>这种方法有几个问题</p>
<ul>
<li>在数学文本中使用<code>\textrm{}</code>使其不是斜体似乎会破坏matplotlib</li>
<li>字母大小需要手动调整(因此系数为700)</li>
</ul>
<p>最好使用颜色映射,而不是简单地定义RGB颜色值。</p>