如何在 Vega-lite 轴标题中放置换行符?

Posted

技术标签:

【中文标题】如何在 Vega-lite 轴标题中放置换行符?【英文标题】:How can I put a line break in a Vega-lite axis title? 【发布时间】:2019-11-28 16:01:00 【问题描述】:

我是 Vega-lite 的新手,我想弄清楚轴标题中是否可以换行。我有一个长轴标题,例如:

“长轴标题太长,图下放不下”

我试过了:

“长轴标题太长\n 无法放入图表下方”和 "长轴标题太\ 长到适合图表下方”

“\n”似乎没有做任何事情。 "\[enter]" 只是在行中增加了额外的空间。

我的 x 和 y 编码如下所示:

encoding: 
      x: field: 'a',
          type: 'ordinal',
          sort: "encoding": "x",  
          axis: "title": "Knowledge of the elder\
          categories would melt\
          your psyche",
          "titleFontSize": 30,
          
          ,
      y: field: 'b', 
          type: 'quantitative',
          axis: "title": "Your puny mortal mind\ncannot comprehend the units\nof the multiverse!",
          "titleFontSize": 14,
          
          
    

我没有收到错误消息,但我也没有收到换行符。我要么没有变化(来自 \n),要么得到奇怪的间距(来自 [enter])。

谢谢!

【问题讨论】:

【参考方案1】:

在 Vega-Lite 4.0 或更新版本中,可以通过传递字符串数组在标题中指定多行文本。例如:

"data": 
    "values": [
      "a": "A", "b": 28,
      "a": "B", "b": 55,
      "a": "C", "b": 43,
      "a": "D", "b": 91,
      "a": "E", "b": 81,
      "a": "F", "b": 53,
      "a": "G", "b": 19,
      "a": "H", "b": 87,
      "a": "I", "b": 52
    ]
  ,
  "mark": "bar",
  "encoding": 
    "x": 
      "field": "a",
      "type": "ordinal",
      "title": ["First line of title", "second line of title"]
    ,
    "y": "field": "b", "type": "quantitative"
  

【讨论】:

以上是关于如何在 Vega-lite 轴标题中放置换行符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 vega-lite 图表中添加辅助 Y 轴?

Flexbox 挑战:如何在整行中使用相同且均匀的边距进行换行

无法在 Coach BPM 8.5.7 的输出文本区域中放置换行符

在响应式设计中指定 HTML 文本中的首选换行点 [重复]

如何使用 MakeCode 在 Minecraft 中放置半块板

如何在 Angular Material 的对话框中放置图像?