Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

plotnine change default colormap

Is there a way to change the default colormap in plotnine to a custom colormap? I like to avoid adding something like + scale_color_manual(custom_palette) to all my ggplot figures.

I know how to change the theme for the plotnine figures with theme_set(), but is there also something equivalent like scale_set(), since scale define the colors in plotnine.

The same applies for changing the datetick format for the x axis when your data has a time index. Is there a global way to set it instead of using scale_x_datetime(breaks=date_breaks('5 years'), labels=date_format('%Y'))

In other words, I am looking for something that is equivalent to

import matplotlib.pyplot as plt
plt.style.use('ggplot')

in Matplotlib.

like image 234
dsforecast Avatar asked Nov 01 '25 05:11

dsforecast


1 Answers

I don't think this functionality is provided by plotnine. But you can create a subclass of ggplot to add a color scale by default, then use the subclass to create plots.

from plotnine import *
from plotnine.data import mtcars

class ggplot_color(ggplot):
    def __init__(self, data = None, mapping = None, environment = None):
        super().__init__(data, mapping, environment)
        self.scales.append(scale_color_manual(values=['blue', 'red', 'green']))

g = (ggplot_color(mtcars, aes('wt', 'mpg', color='factor(gear)'))
    + geom_point())

sample plot with colors

like image 54
rosa b. Avatar answered Nov 03 '25 20:11

rosa b.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!