<commit_before>#import "CPTDefinitions.h"
#import "CPTLimitBand.h"
#import "CPTPlot.h"
#import "CPTPlotSymbol.h"

/// @file

@class CPTLineStyle;
@class CPTScatterPlot;
@class CPTFill;

/// @ingroup plotBindingsScatterPlot
/// @{
extern NSString *__nonnull const CPTScatterPlotBindingXValues;
extern NSString *__nonnull const CPTScatterPlotBindingYValues;
extern NSString *__nonnull const CPTScatterPlotBindingPlotSymbols;
/// @}

/**
 *  @brief Enumeration of scatter plot data source field types
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotField) {
    CPTScatterPlotFieldX, ///< X values.
    CPTScatterPlotFieldY  ///< Y values.
};

/**
 *  @brief Enumeration of scatter plot interpolation algorithms
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotInterpolation) {
    CPTScatterPlotInterpolationLinear,    ///< Linear interpolation.
    CPTScatterPlotInterpolationStepped,   ///< Steps beginning at data point.
    CPTScatterPlotInterpolationHistogram, ///< Steps centered at data point.
    CPTScatterPlotInterpolationCurved     ///< Curved interpolation.
};

/**
 *  @brief Enumration of scatter plot curved interpolation style options
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotCurvedInterpolationOption) {
    CPTScatterPlotCurvedInterpolationNormal,                ///< Standard Curved Interpolation (Bezier Curve)
    CPTScatterPlotCurvedInterpolationCatmullRomUniform,     ///< Catmull-Rom Spline Interpolation with alpha = 0.0.
    CPTScatterPlotCurvedInterpolationCatmullRomCentripetal, ///< Catmull-Rom Spline Interpolation with alpha = 0.5.
    CPTScatterPlotCurvedInterpolationCatmullRomChordal,     ///< Catmull-Rom Spline Interpolation with alpha = 1.0.
    CPTScatterPlotCurvedInterpolationCatmullCustomAlpha,    ///< Catmull-Rom Spline Interpolation with a custom alpha value.
    CPTScatterPlotCurvedInterpolationHermiteCubic           ///< Hermite Cubic Spline Interpolation
};

/**
 *  @brief Enumeration of scatter plot histogram style options
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotHistogramOption) {
    CPTScatterPlotHistogramNormal,     ///< Standard histogram.
    CPTScatterPlotHistogramSkipFirst,  ///< Skip the first step of the histogram.
    CPTScatterPlotHistogramSkipSecond, ///< Skip the second step of the histogram.
    CPTScatterPlotHistogramOptionCount ///< The number of histogram options available.
};

#pragma mark -

/**
 *  @brief A scatter plot data source.
 **/
@protocol CPTScatterPlotDataSource<CPTPlotDataSource>

@optional

/// @name Plot Symbols
/// @{
<commit_msg>Minor documentation formatting updates.<commit_after>#import "CPTDefinitions.h"
#import "CPTLimitBand.h"
#import "CPTPlot.h"
#import "CPTPlotSymbol.h"

/// @file

@class CPTLineStyle;
@class CPTScatterPlot;
@class CPTFill;

/// @ingroup plotBindingsScatterPlot
/// @{
extern NSString *__nonnull const CPTScatterPlotBindingXValues;
extern NSString *__nonnull const CPTScatterPlotBindingYValues;
extern NSString *__nonnull const CPTScatterPlotBindingPlotSymbols;
/// @}

/**
 *  @brief Enumeration of scatter plot data source field types
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotField) {
    CPTScatterPlotFieldX, ///< X values.
    CPTScatterPlotFieldY  ///< Y values.
};

/**
 *  @brief Enumeration of scatter plot interpolation algorithms
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotInterpolation) {
    CPTScatterPlotInterpolationLinear,    ///< Linear interpolation.
    CPTScatterPlotInterpolationStepped,   ///< Steps beginning at data point.
    CPTScatterPlotInterpolationHistogram, ///< Steps centered at data point.
    CPTScatterPlotInterpolationCurved     ///< Curved interpolation.
};

/**
 *  @brief Enumration of scatter plot curved interpolation style options
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotCurvedInterpolationOption) {
    CPTScatterPlotCurvedInterpolationNormal,                ///< Standard Curved Interpolation (Bezier Curve)
    CPTScatterPlotCurvedInterpolationCatmullRomUniform,     ///< Catmull-Rom Spline Interpolation with alpha = @num{0.0}.
    CPTScatterPlotCurvedInterpolationCatmullRomCentripetal, ///< Catmull-Rom Spline Interpolation with alpha = @num{0.5}.
    CPTScatterPlotCurvedInterpolationCatmullRomChordal,     ///< Catmull-Rom Spline Interpolation with alpha = @num{1.0}.
    CPTScatterPlotCurvedInterpolationCatmullCustomAlpha,    ///< Catmull-Rom Spline Interpolation with a custom alpha value.
    CPTScatterPlotCurvedInterpolationHermiteCubic           ///< Hermite Cubic Spline Interpolation
};

/**
 *  @brief Enumeration of scatter plot histogram style options
 **/
typedef NS_ENUM (NSInteger, CPTScatterPlotHistogramOption) {
    CPTScatterPlotHistogramNormal,     ///< Standard histogram.
    CPTScatterPlotHistogramSkipFirst,  ///< Skip the first step of the histogram.
    CPTScatterPlotHistogramSkipSecond, ///< Skip the second step of the histogram.
    CPTScatterPlotHistogramOptionCount ///< The number of histogram options available.
};

#pragma mark -

/**
 *  @brief A scatter plot data source.
 **/
@protocol CPTScatterPlotDataSource<CPTPlotDataSource>

@optional

/// @name Plot Symbols
/// @{

{'fraction_non_alphanumeric': 0.09233176838810642, 'fraction_numerical': 0.002347417840375587, 'mean_word_length': 4.276573787409701, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4419570', 'n_tokens_mistral': 1668, 'n_tokens_neox': 1557, 'n_words': 375}