
    f%                     D    d dl mZ ddlmZ  G d dej                  ZdS )   )chart    warnc                   b     e Zd ZdZd fd	ZddZd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Z xZS )ChartScatterz>
    A class for writing the Excel XLSX Scatter charts.


    Nc                     t          t          |                                            |i }|                    d          | _        | j        sd| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d	d
dddddd| _        dS )z
        Constructor.

        Nsubtypemarker_onlymidCatr   bTrightctrrlt)centerr   leftabovebelowtopbottom)superr   __init__getr
   cross_betweenhoriz_val_axisval_axis_positionsmooth_allowedrequires_categorylabel_position_defaultlabel_positions)selfoptions	__class__s     Z/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/xlsxwriter/chart_scatter.pyr   zChartScatter.__init__   s    
 	lD!!**,,,?G{{9--| 	)(DL%!$"!% '.#	 
 	 
    c                 ,    |dS t          d           dS )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&   combinezChartScatter.combine<   s/     =F#	
 	
 	
 	
 	
r'   c                 0    |                      |           d S N)_write_scatter_chart)r#   argss     r&   _write_chart_typezChartScatter._write_chart_typeW   s     	!!$'''''r'   c                    |d         r|                                  }n|                                 }t          |          sd S d}| j        }|dk    rd}|dk    rd}|dk    rd}ddi| _        |dk    rd	}|d
k    rd	}ddi| _        |                                  |                     d           |                     |           |D ]}|                     |           | 	                    |           | 
                    d           d S )Nprimary_axes
lineMarkerr   straight_with_markersstraighttypenonesmooth_with_markerssmoothMarkersmoothzc:scatterChart)_get_primary_axes_series_get_secondary_axes_serieslenr
   default_marker_modify_series_formatting_xml_start_tag_write_scatter_style
_write_ser_write_axis_ids_xml_end_tag)r#   r-   seriesstyler
   datas         r&   r,   z!ChartScatter._write_scatter_chartb   sX     	72244FF4466F6{{ 	F, m## E--- Ej   E#)6"2D+++"Eh"E#)6"2D 	&&(((,--- 	!!%(((  	" 	"DOOD!!!! 	T"""*+++++r'   c                    | j         }| xj         dz  c_         |                     d           |                     |           |                     |           |                     |           |                     |           |                     |                    d                     |                     |                    d                     | 	                    |                    d                     | 
                    |                    d                     |                     |                    d                     |                     |           |                     |           d| j        v r|d         |                     d	           n|                     |d                    |                     d           d S )
Nr   zc:sermarkerpointslabels	trendline
error_barsr8   T)series_indexr>   
_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_smoothrB   )r#   rC   indexs      r&   r@   zChartScatter._write_ser   s    !QG$$$ 	 	%    	''' 	&!!! 	6::h//000 	H--... 	6::h//000 	fjj55666 	vzz,77888 	&!!! 	&!!! t|##x(8(@  &&&&  !1222'"""""r'   c                    |                      d           |                     | j                            d          d           |                     ddi           |                     ddi           |                     | j        | j        | j        dd           | j	        }d| _	        | 
                    | j        | j        | j        d	d           || _	        |                     | j        | j        | j        dd           d| _	        | 
                    | j        | j        | j        d	d           |                     | j                   |                     d           d S )
Nz
c:plotArealayoutplotr0   r   r   r   )x_axisy_axisaxis_idspositionr   )r>   _write_layoutplotarear   r.   _write_cat_val_axisr]   r^   r_   r   _write_val_axisx2_axisy2_axis	axis2_idsrP   rB   )r#   tmps     r&   _write_plot_areazChartScatter._write_plot_area   s   
 	L))) 	4=,,X66??? 	23332333 	  ++ M	 	
 	
 	
 !++ M	 	
 	
 	
 " 	  ,, N	 	
 	
 	
  ,, N	 	
 	
 	
 	$-(((,'''''r'   c                 \   |                     d          }|                     d          }| j        |         }|                     d           |                     |          }|dk    r|                     |||           n|                     |||           |                     d           d S )N
categoriescat_data_idzc:xValstr)r   formula_datar>   _get_data_type_write_str_ref_write_num_refrB   )r#   rC   formuladata_idrE   	data_types         r&   rV   zChartScatter._write_x_val  s    **\****]++ )H%%% ''--	y9999 y999(#####r'   c                     |                     d          }|                     d          }| j        |         }|                     d           |                     ||d           |                     d           d S )Nvaluesval_data_idzc:yValnum)r   rn   r>   rq   rB   )r#   rC   rr   rs   rE   s        r&   rW   zChartScatter._write_y_val  sy    **X&&**]++ )H%%% 	GT5111(#####r'   c                 <    d|fg}|                      d|           d S )Nvalzc:scatterStyle)_xml_empty_tag)r#   rz   
attributess      r&   r?   z!ChartScatter._write_scatter_style&  s*    cl^
,j99999r'   c                 f    | j         }|dk    r!| j        D ]}|d         d         s	dddd|d<   d S d S )Nr   linedefinedg      @r   )widthr5   r   )r
   rC   )r#   r
   rC   s      r&   r=   z&ChartScatter._modify_series_formatting,  sf     , m##+  f~i0 !% !#$& &F6N $# r'   c                    |                      d           |                     |           |                      d           |                     |           |                     d           |                     d           d S )Nzc:dPtzc:marker)r>   rM   rP   rB   )r#   rY   points      r&   _write_d_pt_pointzChartScatter._write_d_pt_point=  s     	G$$$ 	J''' 	%   *%%%'"""""r'   r+   )__name__
__module____qualname____doc__r   r)   r.   r,   r@   ri   rV   rW   r?   r=   r   __classcell__)r%   s   @r&   r   r      s          
  
  
  
  
  
D
 
 
 
6( ( (/, /, /,b1# 1# 1#f<( <( <(|$ $ $($ $ $: : :  "# # # # # # #r'   r   N) r   warningsr   Chartr    r'   r&   <module>r      sk               @# @# @# @# @#5; @# @# @# @# @#r'   