r - 自动缩放文本大小
问题描述
我试图弄清楚如何根据文本变量的长度来制作文本变量的文本大小。我不知道如何更好地解释它:D
我有一个文本字段,用户可以在其中输入文本。我希望文本始终是某个文本框中的“最大可能”大小,但永远不要超出文本框的边缘。因此,一旦文本具有一定长度,就会自动缩小文本大小。
文本框的边框不是在 R 中定义的,而是通过“背景”定义的——有点难以解释。可以说,我有一个背景,我想在其上绘制文本,它定义了某些边界。
根据座右铭“如果在 X 和 Y 字符之间输入,则使用大小 Z”,我曾考虑过简单地为某些“数量带”预定义大小。但是,我想问您是否知道更清洁的解决方案。
感谢你并致以真诚的问候
我的代码:
Gruppenname <- "ExampleName"
Ausgabe <- ggdraw() +
draw_text(Gruppenname, x = 0.1, y = 0.385, color="#9ad3b8", size=140, family = "Oswald", hjust = 0,vjust = 0)
目标:
解决方案
包ggfittext
提供了一个功能来精确地做到这一点:
library(cowplot)
library(ggfittext)
library(ggplot2)
Gruppenname <- "ExampleName"
x.low <- 0.1
x.high <- 0.8
y.low <- 0.385
y.high <- 0.8
Ausgabe <- ggdraw() +
geom_rect(aes(xmin=x.low,ymin=y.low,xmax=x.high,ymax=y.high)) +
geom_fit_text(aes(xmin=x.low,ymin=y.low,
xmax=x.high,ymax=y.high,label=Gruppenname),
place="bottomleft",grow=T)
Ausgabe
Gruppenname <- "LongerExampleName"
Ausgabe <- ggdraw() +
geom_rect(aes(xmin=x.low,ymin=y.low,xmax=x.high,ymax=y.high)) +
geom_fit_text(aes(xmin=x.low,ymin=y.low,xmax=x.high,ymax=y.high,label=Gruppenname),place="bottomleft",grow=T)
Ausgabe
推荐阅读
- javascript - js中带有两个可拖动元素的连接器,输入显示行的长度
- iis - 当路由使端点路径与物理路径不同时,如何配置 IIS 以定义特定端点上所需的客户端证书
- java - 我有一个包含 6 个元素的数组列表,我想打印前两个元素,然后是第三到第四,第五到第六
- laravel - 如何解决 Laravel 7 中的 404 错误?
- prometheus - Helm Charts (Prometheus) 的文档
- r - Zero.test 函数解释?
- python - 神经网络如何记住它的训练?
- java - HazelcastSerializationException 将类移动到不同的包后
- database - 从 Clickhouse DB 中完全删除数据以节省磁盘空间
- vhdl - iCE40 Ultra Plus 5k — 如何设置 PLL(无需专有 GUI 工具)(续)