2012-02-22 2 views
3

1) Я хочу нарисовать сетку квадратов (AspectRatio -> 1.0). Размер сетки составляет 200 * 150. 2) Я хочу, чтобы первые 8760 квадратов (слева направо, сверху вниз) в сетке были серыми. Благодарю.Рисование сетки квадратов в Mathematica

Для 1), я не знаю, где поставить коэффициент; для 2) У меня есть уродливое решение, и я с нетерпением жду элегантный.

код у меня сейчас:

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

Сетка не имеет опции «AspectRatio». Вместо этого вы можете использовать опцию 'ItemSize'. Если вы добавите 'ItemSize -> {.75, 1}' в свой код, вы получите квадратные ячейки. – kglr

+0

@kguler Спасибо! Оно работает. Не могли бы вы поместить свое решение в качестве ответа? И, 0.75 - экспериментальный результат? – Ning

+1

Да, 0,75 обнаружено методом проб и ошибок; после попытки '{1,1}' и увидеть, что он не работает. Ваш код выглядит нормально. Не вижу более элегантной альтернативы. – kglr

ответ

2

Сетка не имеет AspectRatio вариант. Вместо этого вы можете использовать опцию ItemSize. Если вы добавите ItemSize -> {.75, 1} в свой код, вы получите квадратные ячейки.

+4

В версии 7 я получаю квадратные «ячейки» с 'ItemSize -> {0.5, 1}' - очевидно, что это не является межсистемной надежностью. –

+2

@ Mr.Wizard, я думаю, что это также связано с настройками монитора - мои круги становятся эллипсами, когда я перехожу с одного внешнего монитора на другой. – kglr

Смежные вопросы