Files
intellecton/venv/lib/python3.12/site-packages/matplotlib/__pycache__/table.cpython-312.pyc
T

372 lines
33 KiB
Plaintext
Raw Normal View History

Ë
†Rj`lãóÌ—dZddlZddlmZmZddlmZmZddl m
Z
ddl m Z ddl
mZdd lmZdd
lmZGd „d e
«ZeZGd
„de«Zej, dd„«Zy)a$
Tables drawing.
.. note::
The table implementation in Matplotlib is lightly maintained. For a more
featureful table implementation, you may wish to try `blume
<https://github.com/swfiua/blume>`_.
Use the factory function `~matplotlib.table.table` to create a ready-made
table from texts. If you need more control, use the `.Table` class and its
methods.
The table consists of a grid of cells, which are indexed by (row, column).
The cell (0, 0) is positioned at the top left.
Thanks to John Gill for providing the class and table.
éNé)Ú_apiÚ
_docstring)ÚArtistÚallow_rasterization)Ú Rectangle)ÚText)ÚBbox)ÚPath)Ú_is_pandas_dataframecóü‡—eZdZdZdZ dZdedddœZdd d
dd d d
dœˆfd„
Zˆfd„Zˆfd„Z d„Z
d„Z d„Z d„Z
eˆfd„«Zd„Zd„Zd„Zej(d„«Zed„«Zej0d„«Zd„ZˆxZS)ÚCellzë
A cell is a `.Rectangle` with some associated `.Text`.
As a user, you'll most likely not creates cells yourself. Instead, you
should use either the `~matplotlib.table.table` factory function or
`.Table.add_cell`.
gš™™™™™¹?ÚBRTLÚÚBTÚRL)ÚopenÚclosedÚ
horizontalÚverticalÚkÚwTÚrightNr)Ú edgecolorÚ facecolorÚfillÚtextÚlocÚfontpropertiesÚ
visible_edgesc 󨕗t‰ |�||||||¬«|jd«|
|_||_t |d|dd|| |d¬«|_y)a®
Parameters
----------
xy : 2-tuple
The position of the bottom left corner of the cell.
width : float
The cell width.
height : float
The cell height.
edgecolor : :mpltype:`color`, default: 'k'
The color of the cell border.
facecolor : :mpltype:`color`, default: 'w'
The cell facecolor.
fill : bool, default: True
Whether the cell background is filled.
text : str, optional
The cell text.
loc : {'right', 'center', 'left'}
The alignment of the text within the cell.
fontproperties : dict, optional
A dict defining the font properties of the text. Supported keys and
values are the keyword arguments accepted by `.FontProperties`.
visible_edges : {'closed', 'open', 'horizontal', 'vertical'} or substring of 'BRTL'
The cell edges to be drawn with a line: a substring of 'BRTL'
(bottom, right, top, left), or one of 'open' (no edges drawn),
'closed' (all edges drawn), 'horizontal' (bottom and top),
'vertical' (right and left).
)ÚwidthÚheightrrrFrrÚcenter)ÚxÚyÚclip_onrrÚhorizontalalignmentÚverticalalignmentN)ÚsuperÚ__init__Ú set_clip_onr Ú_locr Ú_text) ÚselfÚxyr"r#rrrrrrr Ú __class__s €úS/home/antigravity/intellecton/venv/lib/python3.12/site-packages/matplotlib/table.pyr+z
Cell.__init__:sjø€ôN ‰Ñ˜ 5°¸dØ#,¸ ð ô Cà ×Ñ˜ÔØ*ˆÔðˆŒ Ü˜B˜q™E R¨¡U°EØ#°NØ.1ÀXôOˆ�
ócó2•—t‰|�|«d|_y©NT)r*Ú
set_transformÚstale)r/Útr1s €r2r6zCell.set_transformlsø€Ü
‰Ñ˜aÔ àˆ�
r3cóZ•—t‰|�|«|jj|«y©N)r*Ú
set_figurer.)r/Úfigr1s €r2r;zCell.set_figureqs"ø€Ü
‰Ñ˜3ÔØ �
‰
×јcÕ"r3có—|jS)z!Return the cell `.Text` instance.)r.©r/s r2Úget_textz
Cell.get_textus €à�z‰zÐr3cóH—|jj|«d|_y)zSet the text fontsize.TN)r.Ú set_fontsizer7)r/Úsizes r2rAzCell.set_fontsizeys€à �
‰
×Ñ Ô%؈�
r3có6—|jj«S)zReturn the cell fontsize.)r.Ú get_fontsizer>s r2rDzCell.get_fontsize~s€à�z‰z×&Ñ&Ó(Ð(r3cóø—|j«}|j|«}|dkDrS||j«kDr@|dz}|j|«|j|«}|dkDr||j«kDrŒ@|S)z9Shrink font size until the text fits into the cell width.r)rDÚget_required_widthÚ get_widthrA)r/ÚrendererÚfontsizeÚrequireds r2Úauto_set_font_sizezCell.auto_set_font_size‚sz€à×$Ñ$Ó&ˆØ×*Ñ*¨8Ó4ˆØ˜Šl˜x¨$¯.©.Ó*:Ò:Ø ˜‰MˆHØ × Ñ ˜hÔ 'Ø×.Ñ.¨xÓ8ˆHð˜Šl˜x¨$¯.©.Ó*:Ó:ð
ˆr3c󬕗|j«syt‰|� |«|j|«|jj|«d|_y)NF)Ú get_visibler*ÚdrawÚ_set_text_positionr.r7)r/rHr1s €r2rNz Cell.draw�sCø€à×ÑÔ!Ø ä
‰‰ �XÔà ×Ñ Ô)Ø �
‰
�‰˜Ô!؈�
r3cóº—|j|«}|j|jdz z}|jj «}|dk(r|j
|j dz z}nU|dk(r'|j
|j |jzz}n)|j
|j d|jz
zz}|jj||f«y)z.Set text up so it is drawn in the right place.ér$ÚleftrN) Úget_window_extentÚy0r#r.Úget_horizontalalignmentÚx0r"ÚPADÚ set_position)r/rHÚbboxr&rr%s r2rOzCell._set_text_position˜s®€à×%Ñ% hÓ/ˆà �G‰G�d—k‘k A‘oÑ %ˆà�j‰j×0Ñ0Ó2ˆØ �(Š?Ø—‘˜$Ÿ*™* q™.Ñ(‰AØ
�FŠ]Ø—‘˜$Ÿ*™* t§x¡xÑ/Ñ/‰Aà—‘˜$Ÿ*™*¨¨D¯H©H© Ñ5Ñ5ˆAØ �
‰
×Ñ  A Õ'r3có¢—|jj|«j|j«j ««j
S)zY
Return the text bounds as *(x, y, width, height)* in table coordinates.
)r.rSÚ transformedÚget_data_transformÚinvertedÚbounds)r/rHs r2Úget_text_boundszCell.get_text_bounds§s<€ð—
‘
×,Ñ,¨XÓ6ß‘˜T×4Ñ4Ó6×?Ñ?ÓAÓBß‘ð r3cóX—|j|«\}}}}|dd|jzzzS)z/Return the minimal required width for the cell.çð?g@)r_rW)r/rHÚlÚbrÚhs r2rFzCell.get_required_width¯s2€à×)Ñ)¨(Ó3‰
ˆˆ1ˆa�Ø�C˜3 §¡™>Ñ*Ñ+Ð+r3c óH—|jj|«d|_y)zk
Update the text properties.
Valid keyword arguments are:
%(Text:kwdoc)s
TN)r.Ú_internal_updater7)r/Úkwargss r2Úset_text_propszCell.set_text_props´s€ð
�
‰
×#Ñ# FÔ+؈�
r3có—|jS)a"
The cell edges to be drawn with a line.
Reading this property returns a substring of 'BRTL' (bottom, right,
top, left').
When setting this property, you can use a substring of 'BRTL' or one
of {'open', 'closed', 'horizontal', 'vertical'}.
)Ú_visible_edgesr>s r2r zCell.visible_edgesÀs€ð×"Ñ"Ð"r3c óp‡—|€‰j‰_d‰_y|‰jvr‰j|‰_d‰_ytˆfd„|D««rNt dj |dj
‰j«dj
‰j«««‚|‰_d‰_y)Nc3ó:•K—|]}|‰jv–—Œy­wr:©Ú_edges©Ú.0Úedger/s €r2ú <genexpr>z%Cell.visible_edges.<locals>.<genexpr>Ôsøèø€Ò=¨t�4˜tŸ{™{Ô*Ñ=ùsƒz=Invalid edge param {}, must only be one of {} or string of {}z, T)rnrjÚ
_edge_aliasesÚanyÚ
ValueErrorÚformatÚjoinr7©r/Úvalues` r2r zCell.visible_edgesÍs«ø€à ˆ=Ø"&§+¡+ˆDÔ ðˆ�
ð�d×(Ñ(Ñ
(Ø"&×"4Ñ"4°UÑ";ˆDÔ ðˆ�
ôÓ=°uÔ=Ô=Ü ð"6ß6<±fØ%*Ø%)§Y¡Y¨t×/AÑ/AÓ%BØ%)§Y¡Y¨t¯{©{Ó%;ó7=ó>ð>ð
#(ˆDÔ Øˆ�
r3cóø‡—tjg}|jˆfd„‰jD««tj|ddvrtj|d<tddgddgddgddgddgg|d¬«S) z*Return a `.Path` for the `.visible_edges`.c3óz•K—|]2}|‰jvrtjntj–—Œ4y­wr:)rjr ÚLINETOÚMOVETOros €r2rrz Cell.get_path.<locals>.<genexpr>às3øèø€ò%àð  4×#6Ñ#6Ñ6ŒD�KŠK¼D¿K¹KÓ Gñ%ùsƒ8;rNéÿÿÿÿçraT)Úreadonly)r r}ÚextendrnÚ CLOSEPOLY)r/Úcodess` r2Úget_pathz
Cell.get_pathÝs�ø€ä—‘�
ˆØ
� ‰ ó%àŸ ™ ô%ô %ô �;‰;˜e A B˜iÑ 'ÜŸ™ˆE�"‰IÜØ�3ˆZ˜#˜s˜ c¨3 Z°#°s°¸cÀ3¸ZÐ HØ Øôð r3)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rWrnrsr+r6r;r?rArDrKrrNrOr_rFrÚinterpdrhÚpropertyr Úsetterr„Ú
__classcell__©r1s@r2rr'sÕø„ñð €CØ-à
€FØ%'Ø%+Ø%)Ø%)ñ€Mð¨#ØØØØ $Ø'ö
0Oôdô
#òòò
)ò ðóóðò
(òò,ð
×Ññ óð ðñ
#óð
#ð×Ññ
óð
ö r3rcóV‡—eZdZdZidd“dd“dd“dd “d
d “d d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“d$d%i¥Z dZd&Z d=ˆfd'„ Zd(„Zd)„Z d*„Z
e d+„«Z e jd,„«Z d-„Zed.„«Zd/„Zd0„Zd1„Zd>d2„Zd3„Zd4„Zd5„Zd?d6„Zd7„Zd8„Zd9„Zd:„Zd;„Zd<„ZˆxZS)@ÚTableaD
A table of cells.
The table consists of a grid of cells, which are indexed by (row, column).
For a simple table, you'll have a full grid of cells with indices from
(0, 0) to (num_rows-1, num_cols-1), in which the cell (0, 0) is positioned
at the top left. However, you can also add cells with negative indices.
You don't have to add a cell to every grid position, so you can create
tables that have holes.
*Note*: You'll usually not create an empty table from scratch. Instead use
`~matplotlib.table.table` to create a table from data.
Úbestrz upper rightrz
upper leftrQz
lower leftéz lower rightéz center leftéz center rightéz lower centeréz upper centerér$é z top righté
ztop lefté z bottom lefté z bottom righté
rérRéÚtopéÚbottomég{®Gáz”?c ó"•—t‰|�«t|t«rQ||jvr4t dj
|dj|j«««‚|j|}|j|jd¬««||_
||_ ||_ |j«|j|j«i|_d|_g|_d|_|j)|«|j+d«y)a(
Parameters
----------
ax : `~matplotlib.axes.Axes`
The `~.axes.Axes` to plot the table into.
loc : str, optional
The position of the cell with respect to *ax*. This must be one of
the `~.Table.codes`.
bbox : `.Bbox` or [xmin, ymin, width, height], optional
A bounding box to draw the table into. If this is not *None*, this
overrides *loc*.
Other Parameters
----------------
**kwargs
`.Artist` properties.
z3Unrecognized location {!r}. Valid locations are
{}z
F©ÚrootNT)r*r+Ú
isinstanceÚstrrƒrurvrwr;Ú
get_figureÚ_axesr-Ú_bboxÚ_unstale_viewLimr6Ú transAxesÚ_cellsrnÚ _autoColumnsÚ
_autoFontsizerfr,)r/ÚaxrrYrgr1s €r2r+zTable.__init__säø€ô& ‰ÑÔä �cœ3Ô Ø˜$Ÿ*™*Ñ$Ü ØKß‘V˜C §¡¨T¯Z©ZÓ!8Ó9ó;ð;ð—*‘*˜S‘/ˆCØ �‰˜Ÿ
™
¨5˜
Ó1Ô2؈Œ
؈Œ ؈Œ
ð ×ÑÔØ ×ј2Ÿ<™<Ô(àˆŒ ؈Œ ØˆÔØ!ˆÔØ ×јfÔ%à ×јÕr3cóN—d}t|g|¢­d|ji|¤Ž}||||f<|S)aV
Create a cell and add it to the table.
Parameters
----------
row : int
Row index.
col : int
Column index.
*args, **kwargs
All other parameters are passed on to `Cell`.
Returns
-------
`.Cell`
The created cell.
)rrr )rÚedges)r/ÚrowÚcolÚargsrgr0Úcells r2Úadd_cellzTable.add_cellDs8€ð&ˆÜ�BÐB°4ÒB d§j¡jÐB¸6ÑBˆØˆˆS�#ˆX‰Øˆ r3có\—tjt|¬« |d|d}}|j |j
d¬««|j|j««|jd«||j||f<d|_ y#t$r}t d«|‚d}~wwxYw) z8
Set a custom cell in a given position.
)rµrrz0Only tuples length 2 are accepted as coordinatesNFr£T) rÚcheck_isinstancerÚ ExceptionÚKeyErrorr;r§r6Ú
get_transformr,r¬r7)r/Úpositionrµr²r³Úerrs r2Ú __setitem__zTable.__setitem__\s¨€ô
×Ñœd¨Õ.ð 3Ø ‘{ H¨Q¡K�ˆCð
�‰˜Ÿ™¨U˜Ó3Ô4Ø ×ј4×-Ñ-Ó/Ô0Ø ×Ñ˜ÔØ $ˆ� ‰ �C˜�HÑØˆ�
øôò 3Üð)ó*Ø/2ð
3ûð 3ús�
B B+ B&Â&B+có —|j|S)z-Retrieve a custom cell from a given position.©r¬)r/r¼s r2Ú __getitem__zTable.__getitem__ls€à�{‰{˜8Ñ$Ð$r3có—|jS)a–
The default value of `~.Cell.visible_edges` for newly added
cells using `.add_cell`.
Notes
-----
This setting does currently only affect newly created cells using
`.add_cell`.
To change existing cells, you have to set their edges explicitly::
for c in tab.get_celld().values():
c.visible_edges = 'horizontal'
rmr>s r2r±z Table.edgesps€ð"�{‰{Ðr3có —||_d|_yr5)rnr7rxs r2r±z Table.edgesƒs€àˆŒ ؈�
r3có¢—|jdz |jd¬«jz|jjj
z dzS)NgR@Tr£g333333ó?)ÚFONTSIZEr§Údpir¨rYr#r>s r2Ú_approx_text_heightzTable._approx_text_heightˆsG€Ø—
‘
 Ñ$ t§¡¸D Ó'A×'EÑ'EÑEØ—
‘
—‘×&Ñ&ñ'Ø),ñ-ð .r3cóˆ—|€ |jd¬«j«}|€ td«‚|j«sy|j d|j «¬«|j
|«t|j«D] }|j|j|«Œ"|jd«d|_ y)NTr£zNo renderer definedÚtable)ÚgidF) r§Ú
_get_rendererÚ RuntimeErrorrMÚ
open_groupÚget_gidÚ_update_positionsÚsortedr¬rNÚ close_groupr7)r/rHÚkeys r2rNz
Table.drawŒs±€ð Ð Ø—‘¨D�Ó1×?Ñ?ÓAˆHØ Ð ÜÐ4Ó5Ð 5à×ÑÔ!Ø Ø×јG¨¯©«ÐÔ8Ø ×јxÔ(ä˜$Ÿ+™+Ó&ò ,ˆCØ �K‰K˜Ñ × !Ñ ! (Õ +ð ,ð ×јWÔ%؈�
r3có(—|jj«D���cgc]#\\}}}|dk\r|dk\r|j|«‘Œ%}}}}tj|«}|j |j
«j««Scc}}}w)z…
Get a bbox, in axes coordinates for the cells.
Only include those in the range (0, 0) to (maxRow, maxCol).
r)r¬ÚitemsrSr
Úunionr[r»r])r/rHr²r³rµÚboxesrYs r2Ú_get_grid_bboxzTable._get_grid_bbox¢s‹€ð*.¯©×):Ñ):Ó)<÷+ð+Ù%‘Z�c˜3 Ø˜1’H ¨¢ð×'Ñ'¨Õ1ð+ˆò+ô�z‰z˜%Ó ˆØ×Ñ × 2Ñ 2Ó 4× =Ñ =Ó ?Ó@Ð@ùô +sŸ(B
có”—|j|«rdifS|jd¬«j«}|�‡|jj «D���cgc]#\\}}}|dk\r|dk\r|j |«‘Œ%}}}}t
j|«}|j|j|j«ifSdifScc}}}w)NFTr£r) Ú_different_canvasr§rËr¬rÔrSr
rÕÚcontainsr%r&)r/Ú
mouseeventrHr²r³rµrÖrYs r2rÚzTable.contains®sÇ€à × !Ñ ! *Ô -ؘ"�9Ð ð—?‘?¨�?Ó-×;Ñ;Ó=ˆØ Ð à-1¯[©[×->Ñ->Ó-@÷/ð/Ù)™˜#˜s Tؘqš S¨A¢Xð×+Ñ+¨HÕ5ð/ˆEò/ô—:‘:˜eÓ$ˆDØ—=‘= §¡¨z¯|©|Ó<¸bÐ@Ð @à˜"�9Ð ùô
/sÁ(CcóH—t|jj««S)z*Return the Artists contained by the table.)Úlistr¬Úvaluesr>s r2Ú get_childrenzTable.get_children¾s€ä�D—K‘K×&Ñ&Ó(Ó)Ð)r3có—|€ |jd¬«j«}|j|«|jj «D�cgc]}|j |«‘Œ}}t
j|«Scc}w)NTr£)r§rËrÏr¬rÞrSr
rÕ)r/rHrµrÖs r2rSzTable.get_window_extentÂsx€à Ð Ø—‘¨D�Ó1×?Ñ?ÓAˆHØ ×јxÔ(à!Ÿ[™[×/Ñ/Ó1ö3Øð×'Ñ'¨Õ1ð3ˆð3ä�z‰z˜%Ó Ð ùò3sÁA?có4—i}i}|jj«D]f\\}}}|j|d«}t||j ««||<|j|d«}t||j ««||<Œhd}i} t
|«D]}|| |<|||z
}Œd}
i} t
|d¬«D]}|
| |<|
||z
}
Œ|jj«D]0\\}}}|j| |«|j| |«Œ2y)zV
Calculate row heights and column widths; position cells accordingly.
rrT)ÚreverseN) r¬rÔÚ
setdefaultÚmaxÚ
get_heightrGrÐÚset_xÚset_y) r/ÚwidthsÚheightsr²r³rµr#r"ÚxposÚleftsÚyposÚbottomss r2Ú_do_cell_alignmentzTable._do_cell_alignmentËs;€ð
ˆØˆØ $§ ¡ × 1Ñ 1Ó 3ò 7Ñ ‰JˆS�#˜Ø×'Ñ'¨¨SÓ1ˆFܘv t§¡Ó'8Ó9ˆG�C‰LØ×%Ñ% c¨3Ó/ˆEܘe T§^¡^Ó%5Ó6ˆF�3ŠKð  7ðˆØˆÜ˜&“>ò ˆC؈E�#‰JØ �F˜3‘KÑ ‰Dð ðˆØˆÜ˜'¨4Ô0ò !ˆC؈G�C‰LØ �G˜C‘LÑ ‰Dð !ð
!%§ ¡ × 1Ñ 1Ó 3ò %Ñ ‰JˆS�#˜Ø �J‰J�u˜S‘zÔ "Ø �J‰J�w˜s‘|Õ $ñ %r3cóò—tj|«}tj|jtj«s t d«‚|D]}|j j|«Œd|_y)zÔ
Automatically set the widths of given columns to optimal sizes.
Parameters
----------
col : int or sequence of ints
The indices of the columns to auto-scale.
z'col must be an int or sequence of ints.TN) ÚnpÚ
atleast_1dÚ
issubdtypeÚdtypeÚintegerÚ TypeErrorr­Úappendr7)r/r³Úcol1drµs r2Úauto_set_column_widthzTable.auto_set_column_widthês`€ô—
‘
˜cÓ"ˆÜ�}‰}˜UŸ[™[¬"¯*©*Ô5ÜÐEÓFÐ FØò +ˆDØ × Ñ × $Ñ $ TÕ *ð +ðˆ�
r3có؇—|jj«D��cgc]\}}|d|k(sŒ|‘Œ}}}tˆfd„|D«d¬«}|D]}|j|«Œycc}}w)z#Automatically set width for column.rc3ó@•K—|]}|j‰«–—Œy­wr:)rF)rprµrHs €r2rrz/Table._auto_set_column_width.<locals>.<genexpr>þsøèø€ÒM¸t˜×0Ñ0°×:ÑMùsƒr)ÚdefaultN)r¬rÔräÚ set_width)r/r³rHrÒrµÚcellsÚ max_widths ` r2Ú_auto_set_column_widthzTable._auto_set_column_widthûsgø€à'+§{¡{×'8Ñ'8Ó':×L™)˜#˜t¸cÀ!¹fÈ»m’ÐLˆÑLÜÓMÀuÔMØ !ô#ˆ àò &ˆDØ �N‰N˜9Õ %ñ &ùóMs
ŸA&°A&có —||_d|_y)zAutomatically set font size.TN)r®r7rxs r2rKzTable.auto_set_font_sizes€à"ˆÔ؈�
r3cóÒ—t|j«dk(rytt|jj «««j «}g}|jj
«D]E\}}|d|jvrŒ|j|«}t||«}|j|«ŒG|jj «D]}|j|«Œy)Nrr) Úlenr¬ÚnextÚiterrÞrDrÔr­rKÚminrörA)r/rHrIrýrÒrµrBs r2Ú_auto_set_font_sizezTable._auto_set_font_sizesÉ€ä ˆt�{‰{Ó ˜qÒ Ø Üœ˜TŸ[™[×/Ñ/Ó1Ó2Ó3×@Ñ@ÓBˆØˆØŸ™×*Ñ*Ó,ò ‰IˆC�à�1‰v˜×*Ñ*Ñ*ØØ×*Ñ*¨8Ó4ˆDܘ8 TÓ*ˆHØ �L‰L˜Õ ð
 ð—K‘K×&Ñ&Ó(ò (ˆDØ × Ñ ˜hÕ 'ñ (r3cóÊ—|jj«D]F}|j|j«|z«|j |j «|z«ŒHy)z<Scale column widths by *xscale* and row heights by *yscale*.N)r¬rÞrürGÚ
set_heightrå)r/ÚxscaleÚyscaleÚcs r2Úscalez Table.scalesL€à—‘×#Ñ#Ó%ò 2ˆAØ
�K‰K˜Ÿ ™ ›
¨Ñ.Ô /Ø
�L‰L˜Ÿ™›¨&Ñ0Õ 1ñ 2r3cór—|jj«D]}|j|«Œd|_y)a>
Set the font size, in points, of the cell text.
Parameters
----------
size : float
Notes
-----
As long as auto font size has not been disabled, the value will be
clipped such that the text fits horizontally into the cell.
You can disable this behavior using `.auto_set_font_size`.
>>> the_table.auto_set_font_size(False)
>>> the_table.set_fontsize(20)
However, there is no automatic scaling of the row height so that the
text may exceed the cell boundary.
TN)r¬rÞrAr7)r/rBrµs r2rAzTable.set_fontsize s5€ð*—K‘K×&Ñ&Ó(ò $ˆDØ × Ñ ˜dÕ #ð $àˆ�
r3cóÒ—|jj«D]J}|j«|j«}}|j ||z«|j ||z«ŒLy)z-Move all the artists by ox, oy (axes coords).N)r¬rÞÚget_xÚget_yrærç)r/ÚoxÚoyr r%r&s r2Ú_offsetz
Table._offset9sQ€à—‘×#Ñ#Ó%ò ˆAØ—7‘7“9˜aŸg™g›iˆqˆAØ
�G‰G�A˜‘FŒOØ
�G‰G�A˜‘F�Oñ r3cóê—|jD]}|j||«Œ|jr|j|«|j «|j |«}|j \}}}}|j�{t|jt«r|jj \}} }
} n|j\}} }
} |j|
|z | |z «||z
} | |z
}
|j «�nhtt|j««\}}}}}}}}}}}}}}}}}}d|dz z
|z
} d|dz z
|z
}
|j|||fvr|j|z
} |j|||||fvrd||z|jzz
} |j||||fvrd||z|jzz
}
|j|||fvr|j|z
}
|j|||fvr d|dz z
|z
} |j|||fvr d|dz z
|z
}
|j|||fvr||z } |j|||fvrd|z
} |j|||fvrd|z
}
|j|||fvr||z }
|j!| |
«y)Ngà?rQrra)r­rÿr®rrîr×r^r©r¥r
r Úrangerrƒr-ÚAXESPADr) r/rHr³rYrbrcrrdÚrlÚrbÚrwÚrhrrÚBESTÚURÚULÚLLÚLRÚCLÚCRÚLCÚUCÚCÚTRÚTLÚBLÚBRÚRÚLÚTÚBs r2rÏzTable._update_positions@s¥€ð
×$Ñ$ò 7ˆCØ × 'Ñ '¨¨XÕ 6ð 7ð × Ò Ø × $Ñ $ XÔ .ð
×ÑÔ!à×"Ñ" 8Ó,ˆØ—[‘[‰
ˆˆ1ˆa�à �:‰:Ð !ä˜$Ÿ*™*¤dÔ+Ø!%§¡×!2Ñ!2‘��B˜™Bà!%§¡‘��B˜˜BØ �J‰J�r˜A‘v˜r A™vÔ &Ø�a‘ˆBØ�a‘ˆBØ × #Ñ #Ö %ô,1´°T·Z±Z³Ó+Añ
)ˆT�2�r˜2˜r 2 r¨2¨r°1Ø
��R˜˜Q  1 aà˜˜A™‘+ Ñ"ˆBؘ˜A™‘+ Ñ"ˆBØ�y‰y˜R  R˜LÑ(Ø—\‘\ AÑ%�Ø�y‰y˜T 2 r¨1¨bÐ1Ñ1ؘ!˜a™% $§,¡,Ñ.Ñ/�Ø�y‰y˜T 2 r¨2Ð.Ñ.ؘ!˜a™% $§,¡,Ñ.Ñ/�Ø�y‰y˜R  R˜LÑ(Ø—\‘\ AÑ%�Ø�y‰y˜R  Q˜KÑ'ؘA ™E‘k QÑ&�Ø�y‰y˜R  Q˜KÑ'ؘA ™E‘k QÑ&�à�y‰y˜R  Q˜KÑ'ؘA™�Y�Ø�y‰y˜R  Q˜KÑ'ؘ1‘W�Ø�y‰y˜R  Q˜KÑ'ؘ1‘W�Ø�y‰y˜R  Q˜KÑ'ؘA™�Y�à � ‰ �R˜Õr3có—|jS)a
Return a dict of cells in the table mapping *(row, column)* to
`.Cell`\s.
Notes
-----
You can also directly index into the Table object to access individual
cells::
cell = table[row, col]
rÀr>s r2Ú get_celldzTable.get_celldzs€ð�{‰{Ðr3)NNr:)T) r…r†r‡rˆrƒrÅrr+r¶r¾rÁrŠr±r‹rÇrrNr×rÚrßrSrîrørÿrKrr rArrÏr.rŒr�s@r2r�r�ïs•ø„ñ
ð
ˆV�Qð
Ø
˜Qð
à
˜Qð
ð˜Qð
ð˜Qð 
ð
˜Qð 
ð ˜Qð

ð˜Qð
ð˜Qð
ð˜Qð
ð˜Rð
ð˜Rð
ð˜Rð
ð˜Rð
ð˜Rð