py2ls 0.1.9.5__py3-none-any.whl → 0.1.9.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
py2ls/plot.py
CHANGED
@@ -10,7 +10,7 @@ from cycler import cycler
|
|
10
10
|
import logging
|
11
11
|
import os
|
12
12
|
|
13
|
-
from .ips import fsave, fload, mkdir, listdir
|
13
|
+
from .ips import fsave, fload, mkdir, listdir, figsave
|
14
14
|
from .stats import *
|
15
15
|
|
16
16
|
# Suppress INFO messages from fontTools
|
@@ -311,13 +311,118 @@ def catplot(data, *args, **kwargs):
|
|
311
311
|
violin_positions = np.nanmean(violin_positions, axis=0)
|
312
312
|
for i, (x, ys) in enumerate(zip(violin_positions, data.T)):
|
313
313
|
ys = ys[~np.isnan(ys)]
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
314
|
+
if np.all(ys == ys[0]): # Check if data is constant
|
315
|
+
print(
|
316
|
+
"Data is constant; KDE cannot be applied. Plotting a flat line instead."
|
317
|
+
)
|
318
|
+
if vertical:
|
319
|
+
ax.plot(
|
320
|
+
[x - opt_v["x_width"] / 2, x + opt_v["x_width"] / 2],
|
321
|
+
[ys[0], ys[0]],
|
322
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
323
|
+
lw=2,
|
324
|
+
label=label[i] if label else None,
|
325
|
+
)
|
326
|
+
else:
|
327
|
+
ax.plot(
|
328
|
+
[ys[0], ys[0]],
|
329
|
+
[x - opt_v["x_width"] / 2, x + opt_v["x_width"] / 2],
|
330
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
331
|
+
lw=2,
|
332
|
+
label=label[i] if label else None,
|
333
|
+
)
|
334
|
+
else:
|
335
|
+
kde = gaussian_kde(ys, bw_method=opt_v["BandWidth"])
|
336
|
+
min_val, max_val = ys.min(), ys.max()
|
337
|
+
y_vals = np.linspace(min_val, max_val, opt_v["NumPoints"])
|
338
|
+
kde_vals = kde(y_vals)
|
339
|
+
kde_vals = kde_vals / kde_vals.max() * opt_v["x_width"]
|
340
|
+
if label is not None and i < len(label):
|
341
|
+
if len(ys) > 1:
|
342
|
+
if "r" in opt_v["loc"].lower():
|
343
|
+
ax.fill_betweenx(
|
344
|
+
y_vals,
|
345
|
+
x,
|
346
|
+
x + kde_vals,
|
347
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
348
|
+
alpha=opt_v["FaceAlpha"],
|
349
|
+
edgecolor=opt_v["EdgeColor"],
|
350
|
+
label=label[i],
|
351
|
+
lw=opt_v["LineWidth"],
|
352
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
353
|
+
)
|
354
|
+
elif (
|
355
|
+
"l" in opt_v["loc"].lower()
|
356
|
+
and not "f" in opt_v["loc"].lower()
|
357
|
+
):
|
358
|
+
ax.fill_betweenx(
|
359
|
+
y_vals,
|
360
|
+
x - kde_vals,
|
361
|
+
x,
|
362
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
363
|
+
alpha=opt_v["FaceAlpha"],
|
364
|
+
edgecolor=opt_v["EdgeColor"],
|
365
|
+
label=label[i],
|
366
|
+
lw=opt_v["LineWidth"],
|
367
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
368
|
+
)
|
369
|
+
elif (
|
370
|
+
"o" in opt_v["loc"].lower()
|
371
|
+
or "both" in opt_v["loc"].lower()
|
372
|
+
):
|
373
|
+
ax.fill_betweenx(
|
374
|
+
y_vals,
|
375
|
+
x - kde_vals,
|
376
|
+
x + kde_vals,
|
377
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
378
|
+
alpha=opt_v["FaceAlpha"],
|
379
|
+
edgecolor=opt_v["EdgeColor"],
|
380
|
+
label=label[i],
|
381
|
+
lw=opt_v["LineWidth"],
|
382
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
383
|
+
)
|
384
|
+
elif "i" in opt_v["loc"].lower():
|
385
|
+
if i % 2 == 1: # odd number
|
386
|
+
ax.fill_betweenx(
|
387
|
+
y_vals,
|
388
|
+
x - kde_vals,
|
389
|
+
x,
|
390
|
+
color=opt_v["FaceColor"][
|
391
|
+
i % len(opt_v["FaceColor"])
|
392
|
+
],
|
393
|
+
alpha=opt_v["FaceAlpha"],
|
394
|
+
edgecolor=opt_v["EdgeColor"],
|
395
|
+
label=label[i],
|
396
|
+
lw=opt_v["LineWidth"],
|
397
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
398
|
+
)
|
399
|
+
else:
|
400
|
+
ax.fill_betweenx(
|
401
|
+
y_vals,
|
402
|
+
x,
|
403
|
+
x + kde_vals,
|
404
|
+
color=opt_v["FaceColor"][
|
405
|
+
i % len(opt_v["FaceColor"])
|
406
|
+
],
|
407
|
+
alpha=opt_v["FaceAlpha"],
|
408
|
+
edgecolor=opt_v["EdgeColor"],
|
409
|
+
label=label[i],
|
410
|
+
lw=opt_v["LineWidth"],
|
411
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
412
|
+
)
|
413
|
+
elif "f" in opt_v["loc"].lower():
|
414
|
+
ax.fill_betweenx(
|
415
|
+
y_vals,
|
416
|
+
x - kde_vals,
|
417
|
+
x + kde_vals,
|
418
|
+
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
419
|
+
alpha=opt_v["FaceAlpha"],
|
420
|
+
edgecolor=opt_v["EdgeColor"],
|
421
|
+
label=label[i],
|
422
|
+
lw=opt_v["LineWidth"],
|
423
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
424
|
+
)
|
425
|
+
else:
|
321
426
|
if "r" in opt_v["loc"].lower():
|
322
427
|
ax.fill_betweenx(
|
323
428
|
y_vals,
|
@@ -326,7 +431,8 @@ def catplot(data, *args, **kwargs):
|
|
326
431
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
327
432
|
alpha=opt_v["FaceAlpha"],
|
328
433
|
edgecolor=opt_v["EdgeColor"],
|
329
|
-
|
434
|
+
lw=opt_v["LineWidth"],
|
435
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
330
436
|
)
|
331
437
|
elif (
|
332
438
|
"l" in opt_v["loc"].lower() and not "f" in opt_v["loc"].lower()
|
@@ -338,7 +444,8 @@ def catplot(data, *args, **kwargs):
|
|
338
444
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
339
445
|
alpha=opt_v["FaceAlpha"],
|
340
446
|
edgecolor=opt_v["EdgeColor"],
|
341
|
-
|
447
|
+
lw=opt_v["LineWidth"],
|
448
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
342
449
|
)
|
343
450
|
elif "o" in opt_v["loc"].lower() or "both" in opt_v["loc"].lower():
|
344
451
|
ax.fill_betweenx(
|
@@ -348,7 +455,8 @@ def catplot(data, *args, **kwargs):
|
|
348
455
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
349
456
|
alpha=opt_v["FaceAlpha"],
|
350
457
|
edgecolor=opt_v["EdgeColor"],
|
351
|
-
|
458
|
+
lw=opt_v["LineWidth"],
|
459
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
352
460
|
)
|
353
461
|
elif "i" in opt_v["loc"].lower():
|
354
462
|
if i % 2 == 1: # odd number
|
@@ -359,7 +467,8 @@ def catplot(data, *args, **kwargs):
|
|
359
467
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
360
468
|
alpha=opt_v["FaceAlpha"],
|
361
469
|
edgecolor=opt_v["EdgeColor"],
|
362
|
-
|
470
|
+
lw=opt_v["LineWidth"],
|
471
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
363
472
|
)
|
364
473
|
else:
|
365
474
|
ax.fill_betweenx(
|
@@ -369,7 +478,8 @@ def catplot(data, *args, **kwargs):
|
|
369
478
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
370
479
|
alpha=opt_v["FaceAlpha"],
|
371
480
|
edgecolor=opt_v["EdgeColor"],
|
372
|
-
|
481
|
+
lw=opt_v["LineWidth"],
|
482
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
373
483
|
)
|
374
484
|
elif "f" in opt_v["loc"].lower():
|
375
485
|
ax.fill_betweenx(
|
@@ -379,64 +489,9 @@ def catplot(data, *args, **kwargs):
|
|
379
489
|
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
380
490
|
alpha=opt_v["FaceAlpha"],
|
381
491
|
edgecolor=opt_v["EdgeColor"],
|
382
|
-
|
492
|
+
lw=opt_v["LineWidth"],
|
493
|
+
hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
|
383
494
|
)
|
384
|
-
else:
|
385
|
-
if "r" in opt_v["loc"].lower():
|
386
|
-
ax.fill_betweenx(
|
387
|
-
y_vals,
|
388
|
-
x,
|
389
|
-
x + kde_vals,
|
390
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
391
|
-
alpha=opt_v["FaceAlpha"],
|
392
|
-
edgecolor=opt_v["EdgeColor"],
|
393
|
-
)
|
394
|
-
elif "l" in opt_v["loc"].lower() and not "f" in opt_v["loc"].lower():
|
395
|
-
ax.fill_betweenx(
|
396
|
-
y_vals,
|
397
|
-
x - kde_vals,
|
398
|
-
x,
|
399
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
400
|
-
alpha=opt_v["FaceAlpha"],
|
401
|
-
edgecolor=opt_v["EdgeColor"],
|
402
|
-
)
|
403
|
-
elif "o" in opt_v["loc"].lower() or "both" in opt_v["loc"].lower():
|
404
|
-
ax.fill_betweenx(
|
405
|
-
y_vals,
|
406
|
-
x - kde_vals,
|
407
|
-
x + kde_vals,
|
408
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
409
|
-
alpha=opt_v["FaceAlpha"],
|
410
|
-
edgecolor=opt_v["EdgeColor"],
|
411
|
-
)
|
412
|
-
elif "i" in opt_v["loc"].lower():
|
413
|
-
if i % 2 == 1: # odd number
|
414
|
-
ax.fill_betweenx(
|
415
|
-
y_vals,
|
416
|
-
x - kde_vals,
|
417
|
-
x,
|
418
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
419
|
-
alpha=opt_v["FaceAlpha"],
|
420
|
-
edgecolor=opt_v["EdgeColor"],
|
421
|
-
)
|
422
|
-
else:
|
423
|
-
ax.fill_betweenx(
|
424
|
-
y_vals,
|
425
|
-
x,
|
426
|
-
x + kde_vals,
|
427
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
428
|
-
alpha=opt_v["FaceAlpha"],
|
429
|
-
edgecolor=opt_v["EdgeColor"],
|
430
|
-
)
|
431
|
-
elif "f" in opt_v["loc"].lower():
|
432
|
-
ax.fill_betweenx(
|
433
|
-
y_vals,
|
434
|
-
x - kde_vals,
|
435
|
-
x + kde_vals,
|
436
|
-
color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
|
437
|
-
alpha=opt_v["FaceAlpha"],
|
438
|
-
edgecolor=opt_v["EdgeColor"],
|
439
|
-
)
|
440
495
|
|
441
496
|
def plot_ridgeplot(data, x, y, opt_r, **kwargs_figsets):
|
442
497
|
# in the sns.FacetGrid class, the 'hue' argument is the one that is the one that will be represented by colors with 'palette'
|
@@ -939,11 +994,13 @@ def catplot(data, *args, **kwargs):
|
|
939
994
|
opt["v"].setdefault("x_dist", opt["v"]["x_width"])
|
940
995
|
opt["v"].setdefault("loc", "r")
|
941
996
|
opt["v"].setdefault("EdgeColor", "none")
|
997
|
+
opt["v"].setdefault("LineWidth", 0.5)
|
942
998
|
opt["v"].setdefault("FaceColor", color_custom)
|
943
999
|
opt["v"].setdefault("FaceAlpha", 1)
|
944
1000
|
opt["v"].setdefault("BandWidth", "scott")
|
945
1001
|
opt["v"].setdefault("Function", "pdf")
|
946
1002
|
opt["v"].setdefault("Kernel", "gau")
|
1003
|
+
opt["v"].setdefault("hatch", None)
|
947
1004
|
opt["v"].setdefault("NumPoints", 500)
|
948
1005
|
opt["v"].setdefault("BoundaryCorrection", "reflection")
|
949
1006
|
|
@@ -175,12 +175,12 @@ py2ls/export_requirements.py,sha256=x2WgUF0jYKz9GfA1MVKN-MdsM-oQ8yUeC6Ua8oCymio,
|
|
175
175
|
py2ls/freqanalysis.py,sha256=F4218VSPbgL5tnngh6xNCYuNnfR-F_QjECUUxrPYZss,32594
|
176
176
|
py2ls/ips.py,sha256=N7MdOCgJXDQu73YkJQTtDN3RSntzXX7V0MOJ1NYBLEk,100572
|
177
177
|
py2ls/netfinder.py,sha256=KJIvg3JZSsy1dJZHNJvd9Y3oyYG0mbdTjtXimdRs8e8,49182
|
178
|
-
py2ls/plot.py,sha256=
|
178
|
+
py2ls/plot.py,sha256=Cpx0cZoU-TN-q3Awmk75DYZsN4nGpnB_dHh262l_-Is,86130
|
179
179
|
py2ls/setuptools-70.1.0-py3-none-any.whl,sha256=2bi3cUVal8ip86s0SOvgspteEF8SKLukECi-EWmFomc,882588
|
180
180
|
py2ls/sleep_events_detectors.py,sha256=bQA3HJqv5qnYKJJEIhCyhlDtkXQfIzqksnD0YRXso68,52145
|
181
181
|
py2ls/stats.py,sha256=U2yeTYUkInI4JXtfhdSbSAzna_h8rh8MZmY31o51_EU,38169
|
182
182
|
py2ls/translator.py,sha256=bc5FB-wqC4TtQz9gyCP1mE38HqNRJ_pmuRIgKnAlMzM,30581
|
183
183
|
py2ls/wb_detector.py,sha256=7y6TmBUj9exCZeIgBAJ_9hwuhkDh1x_-yg4dvNY1_GQ,6284
|
184
|
-
py2ls-0.1.9.
|
185
|
-
py2ls-0.1.9.
|
186
|
-
py2ls-0.1.9.
|
184
|
+
py2ls-0.1.9.6.dist-info/METADATA,sha256=S9HnH0pZxgJJvYW3BmDw9zdlB1V2gQ3jYVSTrh4uCiw,20017
|
185
|
+
py2ls-0.1.9.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
186
|
+
py2ls-0.1.9.6.dist-info/RECORD,,
|
File without changes
|