9

If I execute MatrixPlot@IdentityMatrix@100, the result is a good size. However, if I evaluate

Grid[{{200!}, {MatrixPlot@IdentityMatrix@100}}, ItemSize -> Automatic]

the MatrixPlot is much smaller, even when the page is wide. How can I make the MatrixPlot appear at its original size in the Grid? I'd prefer not to hard-code the size.

this picture

The picture shows that the second MatrixPlot is too small.

corey979
  • 23,947
  • 7
  • 58
  • 101
tba
  • 585
  • 2
  • 10

2 Answers2

14

If you set ImageSizeMultipliers -> 1 then the graphics will not be downsized when appear inside list-like constructs:

Style[
     Grid[{{200!}, {MatrixPlot@IdentityMatrix@100}}, ItemSize -> Automatic],   
     ImageSizeMultipliers -> 1]

Alternatively,

Grid[{{200!}, {MatrixPlot@IdentityMatrix@100}}, ItemSize -> Automatic,
  BaseStyle -> ImageSizeMultipliers -> 1]

or

Grid[{{200!}, {MatrixPlot@IdentityMatrix@100}}, ItemSize -> Automatic,
  ItemStyle -> ImageSizeMultipliers -> 1]

give the same output.

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368
5

Although he puts it somewhat obliquely, Kuba is giving you good advice in his comment. When you place a graphics object into a Grid or Column construct and care even a little about its size, explicitly make the setting of the ImageSize option in the graphics object.

notebook.png

m_goldberg
  • 107,779
  • 16
  • 103
  • 257