/usr/share/hyphy/ChartAddIns/Histogram is in hyphy-common 2.2.6+dfsg-3build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 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 | if (NON_EMPTY_SELECTION)
{
	count = Columns (SELECTED_CHART_DATA);
	colMin  = SELECTED_CHART_DATA [0];
	colMax  = SELECTED_CHART_DATA [0];
	for (counter=0; counter < count; counter = counter+1)
	{
		term = SELECTED_CHART_DATA [counter];
		if (term<colMin)
		{
			colMin = term;
		}
		else
		{
			if (term>colMax)
			{
				colMax = term;
			}
		}
	}
	fprintf (stdout, "\nMin Value (data min = ", colMin,") = ");
	fscanf  (stdin, "Number", colMin);
	term = colMin-1;
	while (term<=colMin)
	{
		fprintf (stdout, "\nMax Value (data max = ", colMax,") = ");
		fscanf  (stdin, "Number", term);
	}
	colMax = term;
	numberOfBins = 0;
	if (colMin==colMax)
	{
		numberOfBins = 1;
	}
	else
	{
		while (numberOfBins<1)
		{
			fprintf (stdout, "\nNumber of bins = ");
			fscanf	(stdin, "Number", numberOfBins);
		}
	}
	matrixOfCounts = {numberOfBins, 5};
	colMax = (colMax-colMin)/numberOfBins;
	if (colMax==0)
	{
		colMax = 0;
	}
	for (counter=0; counter < count; counter = counter+1)
	{
		term = Min(((SELECTED_CHART_DATA [counter]-colMin)/colMax)$1,numberOfBins-1);
		matrixOfCounts [term][2] = matrixOfCounts [term][2]+1;
	}
	
	term = 0;
	for (counter=0; counter < numberOfBins; counter = counter+1)
	{
		matrixOfCounts [counter][0] = colMin;
		term2 = matrixOfCounts [counter][2]/count;
		matrixOfCounts [counter][3] = term2;
		term = term+term2;
		matrixOfCounts [counter][4] = term;
		colMin = colMin + colMax;
		matrixOfCounts [counter][1] = colMin;
	}
	labelMatrix = {{"Bin Left Bound","Bin Right Bound", "Raw Count", "Bin Weight", "Cumulative Weight"}};
	promptString = "Data Histogram";
	OpenWindow (CHARTWINDOW,{{promptString}
							   {"labelMatrix"},
							   {"matrixOfCounts"},
							   {"Bar Chart"},
							   {labelMatrix[0]},
							   {labelMatrix[3]},
							   {"Value"},
							   {""},
							   {"Weight"},
								{"0"}
								{""}
								{"-1;-1"}
								{"10;1.309;0.785398"}
								{"Times:12:0;Times:10:0;Times:12:2"}
								{"0;0;16777215;1644825;0;0;6579300;11842740;13158600;14474460;0;3947580;16777215;5000268;6845928;16771158;2984993;9199669;7018159;1460610;16748822;11184810;14173291"}
								{"16,0,0"}
								},
							   "(SCREEN_WIDTH-60)/2;(SCREEN_HEIGHT-50)/2;(SCREEN_WIDTH-60)/2;50");
}
else
{
	NON_EMPTY_SELECTION = -1;
}
 |