def prop_triangle(self, **kwargs):
truths = []<EOL>params = []<EOL>for p in self.properties:<EOL><INDENT>try:<EOL><INDENT>val, err = self.properties[p]<EOL><DEDENT>except:<EOL><INDENT>continue<EOL><DEDENT>if p in self.ic.bands:<EOL><INDENT>params.append('<STR_LIT>'.format(p))<EOL>truths.append(val)<EOL><DEDENT>elif p=='<STR_LIT>':<EOL><INDENT>params.append('<STR_LIT>')<EOL>truths.append(<NUM_LIT:1>/(val/<NUM_LIT>))<EOL><DEDENT>else:<EOL><INDENT>params.append(p)<EOL>truths.append(val)<EOL><DEDENT><DEDENT>return self.triangle(params, truths=truths, **kwargs)<EOL>
Makes corner plot of only observable properties.

The idea here is to compare the predictions of the samples
with the actual observed data---this can be a quick way to check
if there are outlier properties that aren't predicted well
by the model.

:param **kwargs:
    Keyword arguments passed to :func:`StarModel.triangle`.

:return:
    Figure object containing corner plot.