1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
  
     | 
    
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections and no cover texts.  A copy of the license is
included in the section entitled "GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Reading and writing 2D histograms</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Reading and writing 2D histograms">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Reading and writing 2D histograms">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Histograms.html#Histograms" rel="up" title="Histograms">
<link href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" rel="next" title="Resampling from 2D histograms">
<link href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" rel="previous" title="2D Histogram Operations">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Reading-and-writing-2D-histograms"></a>
<div class="header">
<p>
Next: <a href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" accesskey="n" rel="next">Resampling from 2D histograms</a>, Previous: <a href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" accesskey="p" rel="previous">2D Histogram Operations</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a>   [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Reading-and-writing-2D-histograms-1"></a>
<h3 class="section">22.20 Reading and writing 2D histograms</h3>
<p>The library provides functions for reading and writing two dimensional
histograms to a file as binary data or formatted text.
</p>
<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffwrite"></a>Function: <em>int</em> <strong>gsl_histogram2d_fwrite</strong> <em>(FILE * <var>stream</var>, const gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function writes the ranges and bins of the histogram <var>h</var> to the
stream <var>stream</var> in binary format.  The return value is 0 for success
and <code>GSL_EFAILED</code> if there was a problem writing to the file.  Since
the data is written in the native binary format it may not be portable
between different architectures.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffread"></a>Function: <em>int</em> <strong>gsl_histogram2d_fread</strong> <em>(FILE * <var>stream</var>, gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function reads into the histogram <var>h</var> from the stream
<var>stream</var> in binary format.  The histogram <var>h</var> must be
preallocated with the correct size since the function uses the number of
x and y bins in <var>h</var> to determine how many bytes to read.  The return
value is 0 for success and <code>GSL_EFAILED</code> if there was a problem
reading from the file.  The data is assumed to have been written in the
native binary format on the same architecture.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffprintf"></a>Function: <em>int</em> <strong>gsl_histogram2d_fprintf</strong> <em>(FILE * <var>stream</var>, const gsl_histogram2d * <var>h</var>, const char * <var>range_format</var>, const char * <var>bin_format</var>)</em></dt>
<dd><p>This function writes the ranges and bins of the histogram <var>h</var>
line-by-line to the stream <var>stream</var> using the format specifiers
<var>range_format</var> and <var>bin_format</var>.  These should be one of the
<code>%g</code>, <code>%e</code> or <code>%f</code> formats for floating point
numbers.  The function returns 0 for success and <code>GSL_EFAILED</code> if
there was a problem writing to the file.  The histogram output is
formatted in five columns, and the columns are separated by spaces,
like this,
</p>
<div class="smallexample">
<pre class="smallexample">xrange[0] xrange[1] yrange[0] yrange[1] bin(0,0)
xrange[0] xrange[1] yrange[1] yrange[2] bin(0,1)
xrange[0] xrange[1] yrange[2] yrange[3] bin(0,2)
....
xrange[0] xrange[1] yrange[ny-1] yrange[ny] bin(0,ny-1)
xrange[1] xrange[2] yrange[0] yrange[1] bin(1,0)
xrange[1] xrange[2] yrange[1] yrange[2] bin(1,1)
xrange[1] xrange[2] yrange[1] yrange[2] bin(1,2)
....
xrange[1] xrange[2] yrange[ny-1] yrange[ny] bin(1,ny-1)
....
xrange[nx-1] xrange[nx] yrange[0] yrange[1] bin(nx-1,0)
xrange[nx-1] xrange[nx] yrange[1] yrange[2] bin(nx-1,1)
xrange[nx-1] xrange[nx] yrange[1] yrange[2] bin(nx-1,2)
....
xrange[nx-1] xrange[nx] yrange[ny-1] yrange[ny] bin(nx-1,ny-1)
</pre></div>
<p>Each line contains the lower and upper limits of the bin and the
contents of the bin.  Since the upper limits of the each bin are the
lower limits of the neighboring bins there is duplication of these
values but this allows the histogram to be manipulated with
line-oriented tools.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fhistogram2d_005ffscanf"></a>Function: <em>int</em> <strong>gsl_histogram2d_fscanf</strong> <em>(FILE * <var>stream</var>, gsl_histogram2d * <var>h</var>)</em></dt>
<dd><p>This function reads formatted data from the stream <var>stream</var> into the
histogram <var>h</var>.  The data is assumed to be in the five-column format
used by <code>gsl_histogram2d_fprintf</code>.  The histogram <var>h</var> must be
preallocated with the correct lengths since the function uses the sizes
of <var>h</var> to determine how many numbers to read.  The function returns 0
for success and <code>GSL_EFAILED</code> if there was a problem reading from
the file.
</p></dd></dl>
<hr>
<div class="header">
<p>
Next: <a href="Resampling-from-2D-histograms.html#Resampling-from-2D-histograms" accesskey="n" rel="next">Resampling from 2D histograms</a>, Previous: <a href="2D-Histogram-Operations.html#g_t2D-Histogram-Operations" accesskey="p" rel="previous">2D Histogram Operations</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a>   [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
 
     |