Ggplot Draw 1 on 1 Line

plotnine.geoms.geom_abline¶

class plotnine.geoms. geom_abline ( mapping = None , data = None , ** kwargs ) [source]

Lines specified by slope and intercept

Usage

                                geom_abline                (                mapping                =                None                ,                data                =                None                ,                stat                =                'identity'                ,                position                =                'identity'                ,                na_rm                =                False                ,                inherit_aes                =                False                ,                show_legend                =                None                ,                raster                =                False                ,                **                kwargs                )              

Only the mapping and data can be positional, the rest must be keyword arguments. **kwargs can be aesthetics (or parameters) used by the stat .

Parameters
mapping aes , optional

Aesthetic mappings created with aes() . If specified and inherit . aes = True , it is combined with the default mapping for the plot. You must supply mapping if there is no plot mapping.

Aesthetic

Default value

intercept

slope

alpha

1

color

'black'

group

linetype

'solid'

size

0.5

The bold aesthetics are required.

data dataframe , optional

The data to be displayed in this layer. If None , the data from from the ggplot () call is used. If specified, it overrides the data from the ggplot () call.

stat str or stat, optional (default: stat_identity )

The statistical transformation to use on the data for this layer. If it is a string, it must be the registered and known to Plotnine.

position str or position, optional (default: position_identity )

Position adjustment. If it is a string, it must be registered and known to Plotnine.

na_rm bool, optional (default: False )

If False , removes missing values with a warning. If True silently removes missing values.

inherit_aes bool, optional (default: False )

If False , overrides the default aesthetics.

show_legend bool or dict , optional (default: None )

Whether this layer should be included in the legends. None the default, includes any aesthetics that are mapped. If a bool , False never includes and True always includes. A dict can be used to exclude specific aesthetis of the layer from showing in the legend. e.g show_legend = { 'color' : False } , any other aesthetic are included by default.

raster bool, optional (default: False )

If True , draw onto this layer a raster (bitmap) object even ifthe final image is in vector format.

Examples¶

                            import              pandas              as              pd              import              numpy              as              np              from              plotnine              import              *              from              plotnine.data              import              *              %              matplotlib              inline            

AB line¶

geom_abline() draws a line when the yintercept and gradient is supplied, and is useful as a guide.

                                # inspect the data                mpg                .                head                ()              
manufacturer model displ year cyl trans drv cty hwy fl class
0 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
1 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
2 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
3 audi a4 2.0 2008 4 auto(av) f 21 30 p compact
4 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact

It's useful to use geom_abline() with some data, so we start with a basic scatter plot:

                                (                ggplot                (                mpg                ,                aes                (                x                =                'displ'                ,                y                =                'hwy'                ))                +                geom_point                ()                +                labs                (                x                =                'displacement'                ,                y                =                'horsepower'                )                )              

../_images/geom_abline_4_0.png

<ggplot: (97654321012345679)>              

Now layer a line over the scatter plot using geom_abline() . geom_abline() requires inputs for the slope (default slope is 1) and y-intercept (default value is [0,0]).

                                (                ggplot                (                mpg                ,                aes                (                x                =                'displ'                ,                y                =                'hwy'                ))                +                geom_point                ()                +                geom_abline                (                intercept                =                45                ,                # set the y-intercept value                slope                =-                5                # set the slope value                )                +                labs                (                x                =                'displacement'                ,                y                =                'horsepower'                )                )              

../_images/geom_abline_6_0.png

<ggplot: (97654321012345679)>              

You can plot two lines on one plot:

                                (                ggplot                (                mpg                ,                aes                (                x                =                'displ'                ,                y                =                'hwy'                ))                +                geom_point                ()                +                geom_abline                (                intercept                =                [                45                ,                45                ],                # add many lines to a plot using a list for the y-intercepts...                slope                =                [                -                5                ,                -                7                ]                # ... and for the slopes                )                +                labs                (                x                =                'displacement'                ,                y                =                'horsepower'                )                )              

../_images/geom_abline_8_0.png

<ggplot: (97654321012345679)>              

You can change the look of the line:

                                (                ggplot                (                mpg                ,                aes                (                x                =                'displ'                ,                y                =                'hwy'                ))                +                geom_point                ()                +                geom_abline                (                intercept                =                45                ,                slope                =-                5                ,                color                =                'blue'                ,                # set line colour                size                =                2                ,                # set line thickness                linetype                =                "dashed"                # set line type                )                +                labs                (                x                =                'displacement'                ,                y                =                'horsepower'                )                )              

../_images/geom_abline_10_0.png

<ggplot: (97654321012345679)>              

geom_abline() can be used with a facet plot:

                                (                ggplot                (                mpg                ,                aes                (                x                =                'displ'                ,                y                =                'hwy'                ))                +                geom_point                ()                +                geom_abline                (                intercept                =                45                ,                slope                =-                5                )                # add a line ...                +                facet_grid                (                'drv ~ .'                )                # ... to a facet plot.                +                labs                (                x                =                'displacement'                ,                y                =                'horsepower'                )                )              

../_images/geom_abline_12_0.png

<ggplot: (97654321012345679)>              

Ggplot Draw 1 on 1 Line

Source: https://plotnine.readthedocs.io/en/stable/generated/plotnine.geoms.geom_abline.html

Related Posts

0 Response to "Ggplot Draw 1 on 1 Line"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel