
    Mi%                     Z    S SK JrJrJr  S SKJr  SSKJr   " S S\R                  5      r	g)    )AnyDictOptionalwarn   )chartc                      ^  \ rS rSrSrSS\\\\4      SS4U 4S jjjr	SS\\
R                     SS4S jjrSS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrU =r$ )ChartScatter   z6
A class for writing the Excel XLSX Scatter charts.


Noptionsreturnc                    > [         TU ]  5         Uc  0 nUR                  S5      U l        U R                  (       d  SU l        SU l        SU l        SU l        SU l        SU l        SU l	        S	S
SSSSSS.U l
        g)z
Constructor.

Nsubtypemarker_onlymidCatr   bTrightctrrlt)centerr   leftabovebelowtopbottom)super__init__getr   cross_betweenhoriz_val_axisval_axis_positionsmooth_allowedrequires_categorylabel_position_defaultlabel_positions)selfr   	__class__s     r/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/xlsxwriter/chart_scatter.pyr    ChartScatter.__init__   s    
 	?G{{9-||(DL%!$"!% '.#	 
    r	   c                 "    Uc  g[        S5        g)z
Create a combination chart with a secondary chart.

Note: Override parent method to add a warning.

Args:
    chart: The secondary chart to combine with the primary chart.

Returns:
    Nothing.

NzNCombined chart not currently supported with scatter chart as the primary chartr   )r)   r	   s     r+   combineChartScatter.combine?   s     =#	
r-   c                 &    U R                  U5        g N)_write_scatter_chart)r)   argss     r+   _write_chart_typeChartScatter._write_chart_type[   s     	!!$'r-   c                    US   (       a  U R                  5       nOU R                  5       nU(       d  g SnU R                  nUS:X  a  SnUS:X  a  SnUS:X  a  SnSS0U l        US:X  a  S	nUS
:X  a  S	nSS0U l        U R	                  5         U R                  S5        U R                  U5        U H  nU R                  U5        M     U R                  U5        U R                  S5        g )Nprimary_axes
lineMarkerr   straight_with_markersstraighttypenonesmooth_with_markerssmoothMarkersmoothzc:scatterChart)
_get_primary_axes_series_get_secondary_axes_seriesr   default_marker_modify_series_formatting_xml_start_tag_write_scatter_style
_write_ser_write_axis_ids_xml_end_tag)r)   r4   seriesstyler   datas         r+   r3   !ChartScatter._write_scatter_chartf   s     224F446F,, m# E-- Ej  E#)6"2D++"Eh"E#)6"2D 	&&(,- 	!!%( DOOD!  	T"*+r-   c                    U R                   nU =R                   S-  sl         U R                  S5        U R                  U5        U R                  U5        U R	                  U5        U R                  U5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  U5        U R                  U5        SU R                  ;   a  US   c  U R                  S	5        OU R                  US   5        U R!                  S5        g )
Nr   zc:sermarkerpointslabels	trendline
error_barsr@   T)series_indexrE   
_write_idx_write_order_write_series_name_write_sp_pr_write_markerr!   _write_d_pt_write_d_lbls_write_trendline_write_error_bars_write_x_val_write_y_valr   _write_c_smoothrI   )r)   rJ   indexs      r+   rG   ChartScatter._write_ser   sP    !!QG$ 	 	%  	' 	&! 	6::h/0 	H-. 	6::h/0 	fjj56 	vzz,78 	&! 	&! t||#x(8(@  &  !12'"r-   c                     U R                  S5        U R                  U R                  R                  S5      S5        U R	                  SS05        U R	                  SS05        U R                  U R                  U R                  U R                  SS.5        U R                  nSU l	        U R                  U R                  U R                  U R                  S	S.5        Xl	        U R                  U R                  U R                  U R                  SS.5        SU l	        U R                  U R                  U R                  U R                  S	S.5        U R                  U R                  5        U R                  S5        g )
Nz
c:plotArealayoutplotr8   r   r   r   )x_axisy_axisaxis_idspositionr   )rE   _write_layoutplotarear!   r5   _write_cat_val_axisrf   rg   rh   r#   _write_val_axisx2_axisy2_axis	axis2_idsrX   rI   )r)   tmps     r+   _write_plot_areaChartScatter._write_plot_area   sT   
 	L) 	4==,,X6? 	2323 	  ++++ MM		
 !!++++ MM		
 " 	  ,,,, NN		
  ,,,, NN		
 	$--(,'r-   c                 "   UR                  S5      nUR                  S5      nU R                  U   nU R                  S5        U R                  U5      nUS:X  a  U R	                  X$U5        OU R                  X$U5        U R                  S5        g )N
categoriescat_data_idzc:xValstr)r!   formula_datarE   _get_data_type_write_str_ref_write_num_refrI   )r)   rJ   formuladata_idrL   	data_types         r+   r^   ChartScatter._write_x_val  s    **\***]+  )H% ''-	y9 y9(#r-   c                     UR                  S5      nUR                  S5      nU R                  U   nU R                  S5        U R                  X$S5        U R	                  S5        g )Nvaluesval_data_idzc:yValnum)r!   rx   rE   r{   rI   )r)   rJ   r|   r}   rL   s        r+   r_   ChartScatter._write_y_val  s\    **X&**]+  )H% 	G51(#r-   c                 2    SU4/nU R                  SU5        g )Nvalzc:scatterStyle)_xml_empty_tag)r)   r   
attributess      r+   rF   !ChartScatter._write_scatter_style*  s    cl^
,j9r-   c                     U R                   nUS:X  a,  U R                   H  nUS   S   (       a  M  SSSS.US'   M     g g )Nr   linedefinedg      @r   )widthr=   r   )r   rJ   )r)   r   rJ   s      r+   rD   &ChartScatter._modify_series_formatting0  sM     ,, m#++f~i00!% !#$&F6N & $r-   c                     U R                  S5        U R                  U5        U R                  S5        U R                  U5        U R                  S5        U R                  S5        g )Nzc:dPtzc:marker)rE   rU   rX   rI   )r)   ra   points      r+   _write_d_pt_pointChartScatter._write_d_pt_pointA  sZ     	G$ 	J' 	% *%'"r-   )	r"   rC   r#   r'   r(   r&   r%   r   r$   r2   )r   N)__name__
__module____qualname____firstlineno____doc__r   r   rw   r   r    r	   Chartr/   r5   r3   rG   rr   r^   r_   rF   rD   r   __static_attributes____classcell__)r*   s   @r+   r   r      s     
c3h 8  
D  
  
D
Xekk2 
d 
8(/,b1#f<(|$($:"# #r-   r   N)
typingr   r   r   warningsr    r	   r   r    r-   r+   <module>r      s%    ' &  A#5;; A#r-   