在Mathematica中绘制一个正方形网格

3

1)我想要绘制一个正方形网格(AspectRatio -> 1.0),网格的尺寸为200*150。

2)我希望网格中从左到右,从上到下的前8760个正方形呈灰色。谢谢。

对于1),我不知道在哪里放置长宽比;对于2),我有一个丑陋的解决方案,希望能找到一种更优雅的解决方法。

我现在有的代码:

Grid[Table["", {200}, {150}], 
 Background -> {None, 
   None, {{{1, 58}, {1, 150}} -> Gray, {{59, 59}, {1, 75}} -> Gray}}, 
 Frame -> All]

网格没有“AspectRatio”选项。相反,您可以使用“ItemSize”选项。如果您在代码中添加“ItemSize -> {.75, 1}”,则会获得类似正方形的单元格。 - kglr
@kguler 谢谢!它有效。您能把您的解决方案作为答案吗?还有,0.75是实验结果吗? - Ning
1
是的,0.75是通过试错找到的;在尝试了 {1,1} 并发现它不起作用后。你的代码看起来没问题。没有明显更优雅的替代方案。 - kglr
你需要一个 Grid 对象,还是位图或 Graphics 对象也可以?你的用途是什么? - Mr.Wizard
@Mr.Wizard 最终,我需要一个图像对象,并将其导出为“.eps”文件。 - Ning
1个回答

2

网格没有AspectRatio选项。相反,您可以使用ItemSize选项。如果您在代码中添加ItemSize -> {.75, 1},则会获得类似正方形的单元格。


4
在第7个版本中,我得到了一个由正方形“单元格”组成的图像,使用ItemSize -> {0.5, 1}设置。显然,这不是跨系统可靠的。 - Mr.Wizard
2
@Mr.Wizard,我认为这也与显示器设置有关 - 当我从一个外部显示器移动到另一个外部显示器时,我的圆变成了椭圆形。 - kglr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接