
    ,h/%                     F    d dl mZ ddlmZ  G d dej                        Zy)    warn   )chartc                   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.


    c                     t         |           |i }|j                  d      | _        | j                  sd| _        d| _        d| _        d| _        d| _        d| _        d| _	        d	d
dddddd| _
        y)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)selfoptions	__class__s     Z/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/xlsxwriter/chart_scatter.pyr   zChartScatter.__init__   s    
 	?G{{9-||(DL%!$"!% '.#	 
    c                      |yt        d       y)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     =#	
r'   c                 &    | j                  |       y N)_write_scatter_chart)r#   argss     r&   _write_chart_typezChartScatter._write_chart_typeZ   s     	!!$'r'   c                    |d   r| j                         }n| j                         }|sy 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| _        | j	                          | j                  d       | j                  |       |D ]  }| j                  |        | j                  |       | j                  d       y )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#   r-   seriesstyler
   datas         r&   r,   z!ChartScatter._write_scatter_charte   s    224F446F,, m# E-- Ej  E#)6"2D++"Eh"E#)6"2D 	&&(,- 	!!%(  	"DOOD!	" 	T"*+r'   c                    | j                   }| xj                   dz  c_         | j                  d       | j                  |       | j                  |       | j	                  |       | j                  |       | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |       | j                  |       d| j                  v r|d   | j                  d	       n| j                  |d          | j!                  d       y )
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_smoothrA   )r#   rB   indexs      r&   r?   z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                    | j                  d       | j                  | j                  j                  d      d       | j	                  ddi       | j	                  ddi       | j                  | j                  | j                  | j                  dd       | j                  }d| _	        | j                  | j                  | j                  | j                  d	d       || _	        | j                  | j                  | j                  | j                  dd       d| _	        | j                  | j                  | j                  | j                  d	d       | j                  | j                         | j                  d       y )
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_idsrO   rA   )r#   tmps     r&   _write_plot_areazChartScatter._write_plot_area   sV   
 	L) 	4==,,X6? 	2323 	  ++++ MM		
 !!++++ MM		
 " 	  ,,,, NN		
  ,,,, NN		
 	$--(,'r'   c                 $   |j                  d      }|j                  d      }| j                  |   }| j                  d       | j                  |      }|dk(  r| j	                  |||       n| j                  |||       | j                  d       y )N
categoriescat_data_idzc:xValstr)r   formula_datar=   _get_data_type_write_str_ref_write_num_refrA   )r#   rB   formuladata_idrD   	data_types         r&   rU   zChartScatter._write_x_val  s    **\***]+  )H% ''-	y9 y9(#r'   c                     |j                  d      }|j                  d      }| j                  |   }| j                  d       | j                  ||d       | j	                  d       y )Nvaluesval_data_idzc:yValnum)r   rm   r=   rp   rA   )r#   rB   rq   rr   rD   s        r&   rV   zChartScatter._write_y_val  s^    **X&**]+  )H% 	GT51(#r'   c                 2    d|fg}| j                  d|       y )Nvalzc:scatterStyle)_xml_empty_tag)r#   ry   
attributess      r&   r>   z!ChartScatter._write_scatter_style)  s    cl^
,j9r'   c                 n    | j                   }|dk(  r$| j                  D ]  }|d   d   rdddd|d<    y y )Nr   linedefinedg      @r   )widthr5   r~   )r
   rB   )r#   r
   rB   s      r&   r<   z&ChartScatter._modify_series_formatting/  sO     ,, m#++ f~i0!% !#$&F6N $r'   c                     | j                  d       | j                  |       | j                  d       | j                  |       | j                  d       | j                  d       y )Nzc:dPtzc:marker)r=   rL   rO   rA   )r#   rX   points      r&   _write_d_pt_pointzChartScatter._write_d_pt_point@  sZ     	G$ 	J' 	% *%'"r'   r+   )__name__
__module____qualname____doc__r   r)   r.   r,   r?   rh   rU   rV   r>   r<   r   __classcell__)r%   s   @r&   r   r      sC     
D
8(/,b1#f<(|$($:"#r'   r   N)warningsr    r   Chartr    r'   r&   <module>r      s     A#5;; A#r'   