File mplot/maxes.py changed (mode: 100644) (index 45cdaa7..90d685e) |
... |
... |
__all__ = [ |
30 |
30 |
'tri_R_plot', 'tri_GK_plot', |
'tri_R_plot', 'tri_GK_plot', |
31 |
31 |
'tri_R_nodes_plot', 'tri_GK_nodes_plot', |
'tri_R_nodes_plot', 'tri_GK_nodes_plot', |
32 |
32 |
'convergence_diagram', 'convergence_legend', |
'convergence_diagram', 'convergence_legend', |
|
33 |
|
'convergence_square', |
33 |
34 |
'just_points', 'just_points_really', |
'just_points', 'just_points_really', |
34 |
35 |
'base_drawing', 'candidates_drawing', |
'base_drawing', 'candidates_drawing', |
35 |
36 |
'just_qhull', 'qhull_plot', 'qhull_infinite', |
'just_qhull', 'qhull_plot', 'qhull_infinite', |
|
... |
... |
def candidates_plot(ax): |
126 |
127 |
# ax.set_xlabel("$x_1$") |
# ax.set_xlabel("$x_1$") |
127 |
128 |
# ax.set_ylabel("$x_2$") |
# ax.set_ylabel("$x_2$") |
128 |
129 |
|
|
|
130 |
|
def convergence_square(ax): |
|
131 |
|
convergence_diagram(ax) |
|
132 |
|
ax.set_box_aspect(1) |
|
133 |
|
ax.secondary_yaxis('right') |
|
134 |
|
|
129 |
135 |
def convergence_diagram(ax, sources=['box', 'user'], apply_proxy=False): |
def convergence_diagram(ax, sources=['box', 'user'], apply_proxy=False): |
130 |
136 |
#č pokorně jedeme použiť guessbox |
#č pokorně jedeme použiť guessbox |
131 |
137 |
#č nic jiného nebylo pořádně implementováno |
#č nic jiného nebylo pořádně implementováno |
File mplot/maxes3d.py changed (mode: 100644) (index f7c2f73..ef6e7e8) |
... |
... |
def plot3D(ax3d): |
28 |
28 |
#č ten [plot] zásadně vytvaří své struktury, nepouzívá oné ze skříňky, |
#č ten [plot] zásadně vytvaří své struktury, nepouzívá oné ze skříňky, |
29 |
29 |
#č protože já vím, že v těch obrázcích, ve kterých chcu ho použit, |
#č protože já vím, že v těch obrázcích, ve kterých chcu ho použit, |
30 |
30 |
#č můde být třeba použit řez a skříňka tedy potřebné struktury může nemít |
#č můde být třeba použit řez a skříňka tedy potřebné struktury může nemít |
31 |
|
def tri_plot(ax3d, tri_space=None, lw=0.5, nrid=200): |
|
|
31 |
|
def tri_plot(ax3d, tri_space=None, lw=0.3, nrid=200): |
32 |
32 |
from .. import simplex as six |
from .. import simplex as six |
33 |
33 |
if tri_space is None: |
if tri_space is None: |
34 |
34 |
tri_space = ax3d.space |
tri_space = ax3d.space |
|
... |
... |
def tri_plot(ax3d, tri_space=None, lw=0.5, nrid=200): |
41 |
41 |
on_delete_simplex=None) |
on_delete_simplex=None) |
42 |
42 |
|
|
43 |
43 |
if tri_space == ax3d.space: |
if tri_space == ax3d.space: |
44 |
|
mart3d.tri_plot(ax3d, Tri=Tri, ns=2, color="#747474ff", lw=lw/1.4, zorder=100) |
|
|
44 |
|
mart3d.tri_plot(ax3d, Tri=Tri, ns=2, color="#74747445", lw=lw/1.4, zorder=100) |
45 |
45 |
else: |
else: |
46 |
|
mart3d.tri_plot(ax3d, Tri=Tri, ns=nrid, color="#747474ff", lw=lw/1.4, zorder=100, rasterized=True) |
|
|
46 |
|
mart3d.tri_plot(ax3d, Tri=Tri, ns=nrid, color="#74747445", lw=lw/1.4, zorder=100, rasterized=True) |
47 |
47 |
|
|
48 |
48 |
mart3d.scatter_points(ax3d) |
mart3d.scatter_points(ax3d) |
49 |
49 |
|
|
File mplot/mfigs.py changed (mode: 100644) (index 8a3047a..b7cc4bd) |
... |
... |
from matplotlib import ticker |
14 |
14 |
|
|
15 |
15 |
__all__ = [ |
__all__ = [ |
16 |
16 |
'convergence_diagram', 'convergence_legend', 'double_proxy_diagram', |
'convergence_diagram', 'convergence_legend', 'double_proxy_diagram', |
17 |
|
'four_branch_convergence', |
|
|
17 |
|
'four_branch_convergence', 'suspension_3d', |
18 |
18 |
'double_tri_R_plot', 'double_tri_R_twins_plot', 'double_plot', |
'double_tri_R_plot', 'double_tri_R_twins_plot', 'double_plot', |
19 |
19 |
'double_pprod_R_plot', 'double_mprod_R_plot', |
'double_pprod_R_plot', 'double_mprod_R_plot', |
20 |
20 |
'triple_plot', 'triple_wide', 'triple_wide_50_100', 'triple_plot_50_100', |
'triple_plot', 'triple_wide', 'triple_wide_50_100', 'triple_plot_50_100', |
|
... |
... |
tri_kwargs = { |
40 |
40 |
} |
} |
41 |
41 |
|
|
42 |
42 |
|
|
|
43 |
|
def suspension_3d(fig, sample_box, space): |
|
44 |
|
ax3d = fig.add_subplot(121, projection='3d', azim=-90.0001, elev=89) |
|
45 |
|
ax3d.space = space |
|
46 |
|
ax3d.sample_box = sample_box[0:300] |
|
47 |
|
maxes3d.tri_plot(ax3d) |
|
48 |
|
ax3d.set_zticks([]) |
|
49 |
|
|
|
50 |
|
ax = fig.add_subplot(122) |
|
51 |
|
ax.sample_box = sample_box |
|
52 |
|
maxes.convergence_square(ax) |
|
53 |
|
fig.set_figwidth(19/2.54) |
|
54 |
|
|
43 |
55 |
def convergence_diagram(fig, sample_box, space, lim=1000): |
def convergence_diagram(fig, sample_box, space, lim=1000): |
44 |
56 |
fig.set_figheight(1.8) |
fig.set_figheight(1.8) |
45 |
57 |
ax = fig.add_subplot(111) |
ax = fig.add_subplot(111) |
|
... |
... |
def dhull_vs_complete(fig, sample_box, space): |
356 |
368 |
maxes.completehull_plot(ax, rand_dir=rand_dir) |
maxes.completehull_plot(ax, rand_dir=rand_dir) |
357 |
369 |
|
|
358 |
370 |
|
|
359 |
|
|
|
360 |
|
|
|
361 |
371 |
|
|
362 |
|
def subplot3D(sample_box, ax3d, space='R'): |
|
363 |
|
Fails = getattr(sample_box.failure_samples, space) |
|
364 |
|
Succeses = getattr(sample_box.success_samples, space) |
|
365 |
|
xyz = [0,1,2] |
|
366 |
|
ax3d.scatter(Fails[:,xyz[0]], Fails[:,xyz[1]], Fails[:,xyz[2]], c='r', marker='.') |
|
367 |
|
ax3d.scatter(Succeses[:,xyz[0]], Succeses[:,xyz[1]], Succeses[:,xyz[2]], c='g', marker='.') |
|
368 |
|
|
|
369 |
|
ax3d.set_xlabel('X') |
|
370 |
|
ax3d.set_ylabel('Y') |
|
371 |
|
ax3d.set_zlabel('Z') |
|
372 |
|
|
|
373 |
|
|
|
374 |
|
|
|
375 |
|
def plot3D(sample_box, space='R', filename='', format='pdf'): |
|
376 |
|
if not filename: |
|
377 |
|
filename = 'store/%s_%s_%s_plot3D'%(sample_box.gm_signature, space, sample_box.nsim) |
|
378 |
|
fig = plt.figure() |
|
379 |
|
ax3d = fig.add_subplot(111, projection='3d') |
|
380 |
|
subplot3D(sample_box, ax3d, space) |
|
381 |
|
|
|
382 |
|
try: # jen pro formu zkusíme, vždyť musí funkce formálně něco dělat, žejo? |
|
383 |
|
fig.savefig(filename + "." + format)#, dpi=300) |
|
384 |
|
except: |
|
385 |
|
pass # nic se neděje |
|
386 |
|
|
|
387 |
|
# vracím plt místo figury, protože nechcem sa trapiť ivent lupem |
|
388 |
|
# return plt insted of just fig to bypass event loop issues |
|
389 |
|
return plt.show() |
|
390 |
|
|
|
391 |
|
|
|
392 |
|
|
|
393 |
|
# nikdo mi neuvěří, že by tohle postačílo a nebylo by nutné tohlensto furt úpravovat |
|
394 |
|
def plot2D(sample_box, space='R', candidates=False, filename=None, format='pdf'): |
|
395 |
|
if filename is None: |
|
396 |
|
try: |
|
397 |
|
filename = sample_box.filename |
|
398 |
|
except: |
|
399 |
|
filename = 'store/%s_%s_%s_plot2D'%(sample_box.gm_signature, space, sample_box.nsim) |
|
400 |
|
|
|
401 |
|
fig = plt.figure() |
|
402 |
|
ax = fig.add_subplot(111) |
|
403 |
|
ax.space = space |
|
404 |
|
ax.sample_box = sample_box |
|
405 |
|
|
|
406 |
|
mart.setup(ax) |
|
407 |
|
mart.curly(ax) |
|
408 |
|
mart.plot_boundaries(ax, linewidth=0.7) |
|
409 |
|
mart.scatter_points(ax) |
|
410 |
|
try: |
|
411 |
|
mart.triplot(ax, color="grey", linewidth=0.4) |
|
412 |
|
except: |
|
413 |
|
pass |
|
414 |
|
|
|
415 |
|
if candidates: |
|
416 |
|
#č ax.scatter posílá parameter cmap Collections třídě. |
|
417 |
|
#č Třída mimo jiného dědí cm.ScalarMappable, |
|
418 |
|
#č která inicializaci deleguje funkci cm.get_cmap() ve (svém) modulu cm. |
|
419 |
|
# cmap='viridis_r' #cmap='plasma', |
|
420 |
|
mart.scatter_candidates(ax, s=5, marker='.', cmap='plasma_r',\ |
|
421 |
|
alpha=None, linewidths=None, edgecolors=None, plotnonfinite=False) |
|
422 |
|
mart.plot_the_best_candidate(ax, "^", color='#3D0D5B') |
|
423 |
|
|
|
424 |
|
try: # jen pro formu zkusíme, vždyť musí funkce formálně něco dělat, žejo? |
|
425 |
|
fig.savefig(filename + "." + format, dpi=300) |
|
426 |
|
except: |
|
427 |
|
pass # nic se neděje |
|
428 |
|
|
|
429 |
|
# vracím plt místo figury, protože nechcem sa trapiť ivent lupem |
|
430 |
|
# return plt insted of just fig to bypass event loop issues |
|
431 |
|
return plt.show() |
|