summaryrefslogtreecommitdiff
path: root/graphics/asymptote/examples/imagehistogram.asy
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/examples/imagehistogram.asy')
-rw-r--r--graphics/asymptote/examples/imagehistogram.asy58
1 files changed, 29 insertions, 29 deletions
diff --git a/graphics/asymptote/examples/imagehistogram.asy b/graphics/asymptote/examples/imagehistogram.asy
index d3bdc78375..302d69194d 100644
--- a/graphics/asymptote/examples/imagehistogram.asy
+++ b/graphics/asymptote/examples/imagehistogram.asy
@@ -1,47 +1,47 @@
import stats;
-import graph;
-import palette;
-import contour;
-
+import graph;
+import palette;
+import contour;
+
size(20cm);
scale(false);
pair[] data=new pair[50000];
for(int i=0; i < data.length; ++i)
- data[i]=Gaussrandpair();
-
-// Histogram limits and number of bins
-pair datamin=(-0.15,-0.15);
-pair datamax=(0.15,0.15);
-int Nx=30;
-int Ny=30;
+ data[i]=Gaussrandpair();
+
+// Histogram limits and number of bins
+pair datamin=(-0.15,-0.15);
+pair datamax=(0.15,0.15);
+int Nx=30;
+int Ny=30;
int[][] bins=frequency(data,datamin,datamax,Nx,Ny);
-
-real[] values=new real[Nx*Ny];
+
+real[] values=new real[Nx*Ny];
pair[] points=new pair[Nx*Ny];
-int k=0;
+int k=0;
real dx=(datamax.x-datamin.x)/Nx;
real dy=(datamax.y-datamin.y)/Ny;
for(int i=0; i < Nx; ++i) {
for(int j=0; j < Ny; ++j) {
- values[k]=bins[i][j];
- points[k]=(datamin.x+(i+0.5)*dx,datamin.y+(j+0.5)*dy);
- ++k;
+ values[k]=bins[i][j];
+ points[k]=(datamin.x+(i+0.5)*dx,datamin.y+(j+0.5)*dy);
+ ++k;
}
-}
-
-// Create a color palette
+}
+
+// Create a color palette
pen[] InvGrayscale(int NColors=256) {
- real ninv=1.0/(NColors-1.0);
- return sequence(new pen(int i) {return gray(1-17*i*ninv);},NColors);
-}
-
-// Draw the histogram, with axes
-bounds range=image(points,values,Range(0,40),InvGrayscale());
+ real ninv=1.0/(NColors-1.0);
+ return sequence(new pen(int i) {return gray(1-17*i*ninv);},NColors);
+}
+
+// Draw the histogram, with axes
+bounds range=image(points,values,Range(0,40),InvGrayscale());
draw(contour(points,values,new real[] {1,2,3,4,8,12,16,20,24,28,32,36,40},
- operator--),blue);
-xaxis("$x$",BottomTop,LeftTicks,above=true);
-yaxis("$y$",LeftRight,RightTicks,above=true);
+ operator--),blue);
+xaxis("$x$",BottomTop,LeftTicks,above=true);
+yaxis("$y$",LeftRight,RightTicks,above=true);