假设我有以下3x3矩阵:
[苹果19 3.5]
[橘子07 2.2]
[葡萄23 7.8]
只有在现实生活中,矩阵才有几十行,而不仅仅是三行.
我想创建一个XY图,其中第二列是X坐标,第三列是Y坐标,单词本身(即第一列)是标记(因此没有点,线或任何其他符号) .
我还希望每个单词的字体大小由第二列确定(在上面的例子中,这意味着使"葡萄"的大小约为"橙子"的三倍).
最后,我想对与第三列对应的红色到蓝色刻度的颜色进行着色,0 =最暗的红色,10 =最暗的蓝色.
在Python 2.x中最好的方法是什么?我知道我可以使用matplotlib的"annotate"和"text"来做很多(如果不是全部)这些事情,但不知怎的,这感觉就像一个解决方法.当然必须有一种方法来宣称单词是标记(所以我不必将它们视为"注释")?也许在matplotlib之外的东西?有没有人在那里做过类似的事情?
Gre*_*reg 11
因为你不想使用annotate或text下一个最好的东西是py.scatter接受标记
``'$...$'`` render the string using mathtext.
Run Code Online (Sandbox Code Playgroud)
例如
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()
Run Code Online (Sandbox Code Playgroud)

这种方法有几个问题
\textrm{}在数学文本中使用它不是斜体似乎打破了matplotlib使用色彩图而不是简单地定义RGB色值可能会更好.
| 归档时间: |
|
| 查看次数: |
7495 次 |
| 最近记录: |