python сюжет: цветного пивовара недостаточно - PullRequest
0 голосов
/ 06 февраля 2020

Я использую python версию ggplot со следующим кодом и приложил изображение, но цветов недостаточно для раскраски всех категорий. Мне интересно, как можно получить палитры с большим количеством цветов, но при этом сохраняется отношение, что более низкое число имеет более светлый цвет, а более высокое число становится более темным.

pretty = p9.ggplot(data=s2_test3, mapping = p9.aes(x='index', y='value', colour = "equity_as_number"))+ p9.geom_point(alpha = 0.02)
pretty = pretty + p9.facet_grid("gender~outcome")
pretty + p9.geom_smooth(method = 'loess') + p9.scale_color_brewer(type ='seq')

enter image description here

1 Ответ

0 голосов
/ 14 марта 2020

Используя plotnine, вы можете задавать шкалы вручную, чтобы вы могли создавать все, что угодно sh. Лично я обычно обращаюсь к градиентам matplotlib (используя cmap), прежде чем пытаться вручную создавать свои собственные (используя gradient*).

Вот несколько примеров шкал, вы можете настроить их по своему вкусу.

df = pd.DataFrame({"x": range(100), "y": [0]*100, color="x"})

plt = p9.ggplot(p9.aes(x="x", y="y", fill="x"), df) + p9.geom_tile() + p9.themes.theme_void()

Класс функций scale_fill_gradient* позволяет вам указать свой произвольный градиент. Если вы действительно разборчивы, вы можете потратить время на эти функции и получить любой градиент цвета, который вам нужен sh.

plt1 = plt + p9.scale_fill_gradient(low="#FFFFFF", high="#000044", guide=False)

enter image description here

Класс scale_fill_cmap позволяет указать цветовые градиенты matplotlib, которые можно найти здесь: https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

plt2 = plt + p9.scale_fill_cmap(name="gist_ncar", guide=false)

enter image description here

Вы можете создать шкалу с медленной десатурацией, используя scale_fill_desaturate

plt3 = plt + p9.scale_fill_desaturate(color="blue", guide=False)

enter image description here

...