如何在 Mathematica 中将 Row[] 的元素对齐到底部或顶部?

发布于 2024-12-19 11:52:32 字数 741 浏览 3 评论 0原文

当我写

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->Top]

Mathematicagraphics

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->{Left,Top}]

Mathematica Graphics

无论哪种情况,都不会发生任何情况。默认对齐方式为居中,并且列出的元素与彼此的中线对齐。

Grid[ {{Framed@Column[{1,2}], Framed@"123"}}, Alignment->Top]

Mathematicagraphics

工作得很好,但是当 Row 时 Grid[] 就有点矫枉过正了[] 就足够了。

帮助系统说对齐应该可以工作(列出 {Left,Baseline} 作为示例),但它似乎无法更改。我正在使用 v8.0.4。

When I write

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->Top]

Mathematica graphics

or

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->{Left,Top}]

Mathematica graphics

in either case, nothing happens. Default alignment is Center, and elements are listed aligned to each other's midline.

Grid[ {{Framed@Column[{1,2}], Framed@"123"}}, Alignment->Top]

Mathematica graphics

works just fine, but Grid[] is an overkill when a Row[] would suffice.

Help system says Alignment should work (lists {Left,Baseline} as example), but it doesn't seem to be changeable. I'm using v8.0.4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谎言月老 2024-12-26 11:52:32

Row 中的 Alignment 选项并不对齐各个元素本身,而是对齐外部边界框中的这些元素。这可以通过以下方式查看:

Framed@Row[{Framed@Column[{1, 2}], Framed@"123"}, 
  ImageSize -> {150, 150}, Alignment -> {Left, Top}]

在此处输入图像描述

Framed@Row[{Framed@Column[{1, 2}], Framed@"123"}, 
  ImageSize -> {150, 150}, Alignment -> {Center, Bottom}]

在此处输入图像描述

使用 Grid 代替。

The Alignment option in Row does not align the individual elements themselves, but rather these elements within an outer bounding box. This can be seen with:

Framed@Row[{Framed@Column[{1, 2}], Framed@"123"}, 
  ImageSize -> {150, 150}, Alignment -> {Left, Top}]

enter image description here

Framed@Row[{Framed@Column[{1, 2}], Framed@"123"}, 
  ImageSize -> {150, 150}, Alignment -> {Center, Bottom}]

enter image description here

Use Grid instead.

似狗非友 2024-12-26 11:52:32

正如 Mr.Wizard 所说,Grid 可能是您最好的选择,但如果您想使用 Row,您可以执行类似

Row[Pane[#, BaselinePosition -> Top] & /@ {Framed@Column[{1, 2}], Framed@"123"}]

aligning elements at the top

请注意,Framed 还有一个选项 BaselinePosition,因此对于这个特定示例,您还可以执行类似的操作

Row[Framed[#, BaselinePosition -> Top] & /@ {Column[{1, 2}], "123"}]

Pane 可以在任何情况。

As Mr.Wizard said Grid is probably your best option, but if you want to use Row you could do something like

Row[Pane[#, BaselinePosition -> Top] & /@ {Framed@Column[{1, 2}], Framed@"123"}]

aligning elements at the top

Note that Framed also has an option BaselinePosition so for this particular example you can also do something like

Row[Framed[#, BaselinePosition -> Top] & /@ {Column[{1, 2}], "123"}]

but Pane works in any case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文