【发布时间】:2020-07-02 15:02:20
【问题描述】:
我想用 Unicode 字符绘制一个水平框(箱须图)。像这样的:
|------------[===+====]-----------------|
...但更好。目标是仅在一行上生成盒须图。
我找到了方框图字符\U+2500(─)、\U+251C和\U+2524(分别是├和┤),所以可以做胡须:
├────────────[===+====]─────────────────┤
...但是中间部分呢?我似乎无法弄清楚如何做得很好。画框字符可用于绘制多于一行的框,但不能用于仅适合一行的框(或矩形)。我所说的“不错”是指看起来更像一个矩形而不是“[======]”。
Here 很好地解释了什么是盒须图。
附:这是我当前的解决方案,使用著名的 Fisher 鸢尾花数据集进行演示。我对它不是 100% 满意,所以仍在寻找更好的 Unicode 字符组合:
Col Summary
1 Petal.Length.setosa ╾─────▇▇◆▇────╼
2 Petal.Length.versicolor ╾──────────────▇▇▇▇▇◆▇▇▇▇───────╼
3 Petal.Length.virginica ╾────────▇▇▇▇▇▇▇◆▇▇▇▇▇───────────────╼
4 Petal.Width.setosa ╾─◆▇────╼
5 Petal.Width.versicolor ╾──▇◆▇▇▇▇───╼
6 Petal.Width.virginica ╾─────▇▇▇◆▇▇▇▇▇──╼
7 Sepal.Length.setosa ╾──────▇▇▇◆▇▇▇─────────╼
8 Sepal.Length.versicolor ╾──────────▇▇▇▇◆▇▇▇▇▇▇──────────╼
9 Sepal.Length.virginica ╾───────────────────▇▇▇▇◆▇▇▇▇▇▇▇──────────────╼
10 Sepal.Width.setosa ╾─────────────▇▇▇◆▇▇▇▇──────────╼
11 Sepal.Width.versicolor ╾───────▇▇▇▇▇◆▇▇▇─────╼
12 Sepal.Width.virginica ╾─────────▇▇▇◆▇▇─────────╼
【问题讨论】:
-
准确地定义“做得好”的意思。你到底要买什么形状?
-
看起来画框分类中的所有字符都是要从字符框的中间而不是边缘绘制的。您可能别无选择,只能使用两条线。
-
如果您不介意您的方框被填写,您可以使用块字符
U+2588 █、U+2591 ░、U+2592 ▒或U+2593 ▓。 -
是的,我试过了,但看起来不太好:问题是 2588 占用了整行,所以如果箱形图在另一个之下,它们会加入;和 2587 和其他较短的变体在中间不是对称的。不幸的是,出于某种原因,不能使用两条线。
标签: unicode