Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to create a dynamically changing binary $n \times n$ matrix $A$, which appears to the user as a $n \times n$ matrix/table of checkboxes and the user can change the entries of $A$ by checking or unchecking these checkboxes? If yes, what would be the easiest way?

share|improve this question
up vote 5 down vote accepted

Modifying last example in Manipulate>Neat Examples (also the second example in this answer):

  ArrayPlot[Take[data, n, n]], 
  {{data, RandomInteger[{0, 1}, {20, 20}]}, ControlType -> None}, 
  {{n, 5}, 1, 20, 1}, 
    Panel[Grid[Outer[Checkbox[Dynamic[data[[#1, #2]]], {0, 1}] &, Range[n], Range[n]]]]]]

enter image description here

share|improve this answer
Thank you. Suppose now I would like to use the chosen matrix in following calculations, how would I get further access to the chosen matrix? – MthQ Jul 2 '14 at 12:50
@Thomas, you can use Manipulate[ArrayPlot[mat=Take[data, n, n]],...] to hold the chosen matrix in global variable mat. – kglr Jul 2 '14 at 13:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.