【发布时间】:2014-05-16 13:56:53
【问题描述】:
我正在尝试使用 Matplotlib 创建一个 wordcloud。本质上,我可以将文本放在网格中的任意位置,但需要找到一种防止它们发生冲突的方法。关于这一点,我被困在两个问题上:
字体大小的单位是什么?
如何将文本的“字体大小”转换为图形中的单位,以便将它们标记为已使用?也就是说,我如何知道每个字母在我的网格中占用多少空间?理想情况下,我不必在每个单词周围标记出整个矩形,而只需将它们实际使用的像素标记为可用于其他单词。
【问题讨论】:
-
1. points。 2. 先渲染它们?边界框算法最终将变得更容易实现。否则,您需要知道字形的结果向量,那时我认为您甚至不需要 matplotlib,而是需要 2d 库本身(例如 pycairo)
-
为什么它应该与matplotlib一起使用?
-
它不一定是 matplotlib,但我使用了一个概念上简单的想法(本质上;在网格中选择最靠近中心但仍然适合单词的地方)但显示为难以实施。我经常对绘图有这种感觉,很容易理解你想要什么,很难完成它。在这种情况下,我想了解 fontsize 中的“pt”度量如何转换为图像中的像素。我想我会从看看这是怎么做的中学到很多关于绘图的知识。
标签: python python-2.7 matplotlib word-cloud