You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#include "chart.h"
#include <math.h>
+#include <assert.h>
#include "misc.h"
#include "factor_stats.h"
double box_centre,
double box_width,
struct metrics *m,
- /*
- const double hinge[3],
- struct weighted_value **wvp,
- int n_data,
- */
const char *name)
{
double whisker[2];
int i;
-
const double *hinge = m->hinge;
struct weighted_value **wvp = m->wvp;
const int n_data = m->n_data;
const double box_top =
ch->data_bottom + ( hinge[2] - ch->y_min ) * ch->ordinate_scale;
+ assert(m);
+
+ /* Can't really draw a boxplot if there's no data */
+ if ( n_data == 0 )
+ return ;
+
whisker[1] = hinge[2];
whisker[0] = wvp[0]->v.f;
}
-
+ {
const double bottom_whisker =
ch->data_bottom + ( whisker[0] - ch->y_min ) * ch->ordinate_scale;
pl_fline_r(ch->lp,
box_centre, top_whisker,
box_centre, box_top);
+ }
/* Draw outliers */
for ( i = 0 ; i < n_data ; ++i )
double y_tick;
double d;
+ if ( !ch )
+ return ;
+
ch->y_max = y_max;
ch->y_min = y_min;