使用 plotly.graph_objects,当框太小时,有没有办法在每个框内修剪或包裹标签文本? 建议的解决方案1:强制字体变大,如果不合适就隐藏建议的解决方案2:强制字体变大,如果不合适就强制显示建议的解决方案 3:提前修剪文本

问题描述

如果你看这里:https://plotly.com/python/treemaps/#nested-layers-in-treemap,看看图片

enter image description here

注意第二个小块中的小文本。你几乎看不到它,因为文字是“类似黑加仑子”的,而且太大了。

文档中提出的当前选项都不够。

建议的解决方案1:强制字体变大,如果不合适就隐藏。

通过添加这一行:

    fig.update_layout(uniformtext=dict(minsize=11,mode='hide'))

它隐藏不适合的标签

enter image description here

这不是很好。我希望能够看到文字

建议的解决方案2:强制字体变大,如果不合适就强制显示

    fig.update_layout(uniformtext=dict(minsize=11,mode='show'))

enter image description here

这样就解决文字隐藏的问题,但是现在画在框外,不好。

我想要的是文本换行。如果这是不可能的,那么我希望它可以修剪(可能带有椭圆)。我想不出用这个库做任何事情的方法。 所以我的第一个问题是,这可能吗?

建议的解决方案 3:提前修剪文本。

如果我提前知道文本不适合,我可以修剪它。但是我怎么知道,我怎么知道我可以修剪多少呢? 我想,由于框的大小与我们传递的值间接相关,我们可以猜测哪些框对于我们传递的文本来说太小了。但是怎么做呢?我什至不知道盒子的耻辱。在它下面是一个高大的矩形。我没办法猜到。
如果有一个事件,我可以在渲染文本之前钩住 UI 调用我的位置,给我正方形的尺寸,让我改变文本,我可能有机会。

有什么建议吗?

把我无法填充的所有空间都放在盒子里似乎很愚蠢。我假设有一些技术原因导致文本无法换行,因为那将是最明显的解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...