2014-04-04 33 views
3

我试图用Matplotlib创建一个wordcloud。基本上我可以将文本放在网格中的任意位置,但需要制定一种防止它们相互碰撞的方法。关于这个,我被困在两个问题上:用matplotlib创建一个wordcloud

  1. 字体大小的单位是什么?

  2. 如何将文本的“字体大小”转换为我图中的单位,以便将它们标记为已使用?也就是说,我怎么知道每个字母在我的网格中会占用多少空间?理想情况下,我不必在每个单词周围标出整个矩形,而只是将它们实际使用的像素标记为可用于其他单词。

+0

1分](http://en.wikipedia.org/wiki/ Point_(排印))。 2.首先渲染它们?边界框算法将最终实现起来更简单。否则,你需要知道字形的结果向量,那么我认为你甚至不需要matplotlib就像2d库本身(pycairo,例如) –

+0

为什么它应该是matplotlib? –

+0

它并不一定是matplotlib,但我使用的是一个概念上很容易的想法(主要是:选择离中心最近但仍适合该词的网格中的地点),但显示难以实现。通常我会用这种方式来感受这种方式,容易理解你想要的东西,很难完成它。在这种情况下,我想了解_fontsize_中的“pt”-measure如何转换为图像中的像素。我想我会从了解如何完成这件事来学习很多东西。 – user1603472

回答