File mplot/maxes.py changed (mode: 100644) (index e02dea3..2180c04) |
... |
... |
from . import mart |
18 |
18 |
|
|
19 |
19 |
# it is mostly for qt_plot, it offers availiable options to user |
# it is mostly for qt_plot, it offers availiable options to user |
20 |
20 |
__all__ = [ |
__all__ = [ |
21 |
|
'convex_hull_plot', 'tri_plot', |
|
|
21 |
|
'convex_hull_plot', 'tri_plot', 'tri_nodes_plot', |
22 |
22 |
'tri_R_plot', 'tri_GK_plot', |
'tri_R_plot', 'tri_GK_plot', |
|
23 |
|
'tri_R_nodes_plot', 'tri_GK_nodes_plot', |
23 |
24 |
'just_points', 'just_points_really', |
'just_points', 'just_points_really', |
24 |
25 |
'base_drawing', 'candidates_drawing', |
'base_drawing', 'candidates_drawing', |
25 |
26 |
'just_qhull', 'qhull_plot', 'qhull_infinite', |
'just_qhull', 'qhull_plot', 'qhull_infinite', |
|
... |
... |
__all__ = [ |
29 |
30 |
'completehull_plot' |
'completehull_plot' |
30 |
31 |
] |
] |
31 |
32 |
|
|
|
33 |
|
|
|
34 |
|
#č ten [plot] zásadně vytvaří své struktury, nepouzívá oné ze skříňky, |
|
35 |
|
#č protože já vím, že v těch obrázcích, ve kterých chcu ho použit, |
|
36 |
|
#č můde být třeba použit řez a skříňka tedy potřebné struktury může nemít |
|
37 |
|
def tri_nodes_plot(ax, tri_space=None, tn_scheme=None,\ |
|
38 |
|
linewidths=[0.7, 0.5, 0.4, 0.3, 0.2, 0.1]): |
|
39 |
|
from .. import simplex as six |
|
40 |
|
if tri_space is None: |
|
41 |
|
tri_space = ax.space |
|
42 |
|
|
|
43 |
|
#č já tuhle funkciju potřebuju ne abych kreslil bodíky ve vrcholech |
|
44 |
|
if tn_scheme is None: |
|
45 |
|
tn_scheme = ax.sample_box.Tri.tn_scheme |
|
46 |
|
|
|
47 |
|
def _draw_nodes(*args, **kwargs): |
|
48 |
|
# callback's signature: sx, indices=, simplex=, nodes=, cell_stats= |
|
49 |
|
# positional "sx" is Tri object itself |
|
50 |
|
# "indices" are numbers of simplex vertices |
|
51 |
|
# "simplex" are vertices itself |
|
52 |
|
# "nodes" is what we really want to draw |
|
53 |
|
|
|
54 |
|
event = kwargs['cell_stats']['event'] |
|
55 |
|
|
|
56 |
|
if event == 'mix': |
|
57 |
|
color = '#FFF39A' #'xkcd: dark cream' # (255, 243, 154, 255) |
|
58 |
|
elif event == 'failure': |
|
59 |
|
color = '#fdc1c5' #'xkcd: pale rose' # (#fdc1c5) |
|
60 |
|
elif event == 'success': |
|
61 |
|
color = '#a7ffb5' #'xkcd:light seafoam green' #a7ffb5 |
|
62 |
|
else: |
|
63 |
|
assert 100500 < 0 #оӵ мар лэсьтӥське татын? � |
|
64 |
|
|
|
65 |
|
mart.plot_sample(ax, kwargs['nodes'], color=color) |
|
66 |
|
|
|
67 |
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
|
#č vytvařím vlastní tringulaciju zde vécemeně kvůli callbackům |
|
71 |
|
#č jde, samozřejmě všecko udělat jínak, |
|
72 |
|
#č ale nechcu zrovna zde z toho robiť vědu |
|
73 |
|
Tri = six.JustCubatureTriangulation(ax.sample_box, tn_scheme=tn_scheme, \ |
|
74 |
|
tri_space=tri_space, issi=None,\ |
|
75 |
|
weighting_space=None, \ |
|
76 |
|
incremental=False,\ |
|
77 |
|
on_add_simplex=_draw_nodes,\ |
|
78 |
|
on_delete_simplex=None) |
|
79 |
|
|
|
80 |
|
mart.setup(ax) |
|
81 |
|
mart.curly(ax, linewidths=linewidths) |
|
82 |
|
Tri.integrate() |
|
83 |
|
if tri_space == ax.space: |
|
84 |
|
mart.triplot(ax, color="#B2B2B2", zorder=100) |
|
85 |
|
else: |
|
86 |
|
mart.tri_plot(ax, Tri=Tri, color="#B2B2B2", zorder=100) |
|
87 |
|
|
|
88 |
|
mart.scatter_points(ax, zorder=100500) |
|
89 |
|
mart.plot_boundaries(ax, zorder=1050) |
|
90 |
|
|
|
91 |
|
def tri_R_nodes_plot(ax, **kwargs): |
|
92 |
|
tri_nodes_plot(ax, tri_space='R', **kwargs) |
|
93 |
|
|
|
94 |
|
def tri_GK_nodes_plot(ax, **kwargs): |
|
95 |
|
tri_nodes_plot(ax, tri_space='GK', **kwargs) |
|
96 |
|
|
|
97 |
|
|
32 |
98 |
#č 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, |
33 |
99 |
#č 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, |
34 |
100 |
#č 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 |
|
... |
... |
def tri_plot(ax, tri_space=None, linewidths=[0.7, 0.5, 0.4, 0.3, 0.2, 0.1]): |
52 |
118 |
mart.tri_plot(ax, Tri=Tri, color="#B2B2B2", zorder=100) |
mart.tri_plot(ax, Tri=Tri, color="#B2B2B2", zorder=100) |
53 |
119 |
|
|
54 |
120 |
mart.scatter_points(ax, zorder=100500) |
mart.scatter_points(ax, zorder=100500) |
55 |
|
mart.plot_boundaries(ax) |
|
|
121 |
|
mart.plot_boundaries(ax, zorder=1050) |
56 |
122 |
|
|
57 |
|
def tri_R_plot(ax): |
|
58 |
|
tri_plot(ax, tri_space='R') |
|
|
123 |
|
def tri_R_plot(ax, **kwargs): |
|
124 |
|
tri_plot(ax, tri_space='R', **kwargs) |
59 |
125 |
|
|
60 |
|
def tri_GK_plot(ax): |
|
61 |
|
tri_plot(ax, tri_space='GK') |
|
|
126 |
|
def tri_GK_plot(ax, **kwargs): |
|
127 |
|
tri_plot(ax, tri_space='GK', **kwargs) |
62 |
128 |
|
|
63 |
129 |
#č ten [plot] zásadně vytvaří svou obálku, nepouzívá onou ze skříňky, |
#č ten [plot] zásadně vytvaří svou obálku, nepouzívá onou ze skříňky, |
64 |
130 |
#č 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, |