Option to have stats on graph or not

This commit is contained in:
2026-02-27 17:55:12 +01:00
parent 35ca52fd84
commit 2f7924e580
2 changed files with 15 additions and 13 deletions

View File

@@ -44,7 +44,7 @@ parser.add_argument('--normalizey', action="store_true",
help='Set y-axis to normalized probability density')
parser.add_argument('--log', default="INFO",
help='Console log level: Number or DEBUG, INFO, WARNING, ERROR')
parser.add_argument('--graphinfo',
parser.add_argument('--graphinfo', action="store_true",
help='Put information on the PDF graph')
args = parser.parse_args()
@@ -103,18 +103,20 @@ info = -np.emath.log2(prob)
#print("information content: %f bits", info)
## place text on plot: https://matplotlib.org/3.3.4/gallery/recipes/placing_text_boxes.html
fig, ax = plt.subplots()
textstr = '\n'.join((
r'$n=%d$' % (samplesize),
r'$\mu=%.2f$' % (mean, ),
r'$\sigma=%.2f$' % (stddev, ),
r'$P=%.2f$' % (prob, ),
r'$I=%.2f$ bits' % (info, )))
# these are matplotlib.patch.Patch properties
props = dict(boxstyle='round', facecolor='wheat', alpha=0.5)
# place a text box in upper left in axes coords
ax.text(0.05, 0.95, textstr, transform=ax.transAxes, fontsize=14,
verticalalignment='top', bbox=props)
if args.graphinfo:#put info on corner of graph
textstr = '\n'.join((
r'$n=%d$' % (samplesize),
r'$\mu=%.2f$' % (mean, ),
r'$\sigma=%.2f$' % (stddev, ),
r'$P=%.2f$' % (prob, ),
r'$I=%.2f$ bits' % (info, )))
# these are matplotlib.patch.Patch properties
props = dict(boxstyle='round', facecolor='wheat', alpha=0.5)
# place a text box in upper left in axes coords
ax.text(0.05, 0.95, textstr, transform=ax.transAxes, fontsize=14,
verticalalignment='top', bbox=props)
x = np.linspace(mean-3*stddev, mean+3*stddev, 500)
y = norm.pdf(x, loc=mean, scale=stddev)

View File

@@ -1,5 +1,5 @@
#!/bin/bash
echo "Loading data from file"
./infocalc.py DATA testdata.csv data1 0.9 1.1
./infocalc.py DATA testdata.csv data1 0.9 1.1 --graphinfo
echo "Creating simulated curve from parameters"
./infocalc.py SIM 8 1.0 0.5 0.9 1.1