Numbers can chart only numerical values, so the first thing you will need to do is to determine a means of assigning a numerical value to each checkbox.
Once you have that done, I'd suggest using a stacked bar graph to display the triggers, and overlay a bar or line graph to represent the migraine events.
Here's an example. Checkboxes in rows 2 through 8 are given a value of 1 if checked, zero if unchecked. In the last two rows, those values are reversed; checked = 0, unchecked = 1, to represent values for 'didn't wake naturally' and similar cases.
The formula in B2 of table 2 is: =IF(Table 1 :: B2,1,0)
This is filled right to column D, and down to row 8.
The formula in B9 of table 2 is: =IF(Table 1 :: B2,0,1)
This is filled right to column D, and down to row 10
Changes made from the default chart values assigned by Numbers:
The small square with three white lines (above "Factor 1" controls the direction in which Numbers sees a series of data running. Default value is vertical. Click the square to change that to 'horizontal' as shown.
Colours for each series have been changed to permit each series to be represented by a different colour.
Click the small coloured square at the end of each row of data, then click the Fill Color well in the format bar and choose a colour for each factor.
Stepping of values has been reset on the Y axis. For your case, I would also set the minimum and maximum values on this axis to fixed values, then adjust the number of steps to make the values in the labels all even numbers.
This should give you a start. For more on creating and formatting charts, see the Numbers '09 User Guide. You can download the guide via the Help menu in Numbers.