如何将连续变量映射到 plotnine 中的颜色?
How to map continuous variable to color in plotnine?
我正在尝试将一个连续变量映射到 plotnine 中的颜色。在 R 中,我可以通过将颜色参数设置为 log(pop)
来做到这一点。在 plotnine 中,我尝试了这个替代方案,但它产生了这个错误:
ValueError: Image size of 300573x430 pixels is too large. It must be less than 2^16 in each direction.
from gapminder import gapminder
import math
p = ggplot(data=gapminder, mapping=aes(x='gdpPercap', y='lifeExp'))
(p + geom_point(mapping=aes(color=[math.log(v) for v in gapminder['pop']]))
+ scale_x_log10()
)
在字符串中创建表达式。在该字符串中,您可以引用数据框中的列和环境中的变量。使用 numpy
中的向量化函数比使用 math
模块更简单。
from gapminder import gapminder
import numpy as np
p = ggplot(data=gapminder, mapping=aes(x='gdpPercap', y='lifeExp'))
(p + geom_point(mapping=aes(color='np.log(pop)'))
+ scale_x_log10()
)
我正在尝试将一个连续变量映射到 plotnine 中的颜色。在 R 中,我可以通过将颜色参数设置为 log(pop)
来做到这一点。在 plotnine 中,我尝试了这个替代方案,但它产生了这个错误:
ValueError: Image size of 300573x430 pixels is too large. It must be less than 2^16 in each direction.
from gapminder import gapminder
import math
p = ggplot(data=gapminder, mapping=aes(x='gdpPercap', y='lifeExp'))
(p + geom_point(mapping=aes(color=[math.log(v) for v in gapminder['pop']]))
+ scale_x_log10()
)
在字符串中创建表达式。在该字符串中,您可以引用数据框中的列和环境中的变量。使用 numpy
中的向量化函数比使用 math
模块更简单。
from gapminder import gapminder
import numpy as np
p = ggplot(data=gapminder, mapping=aes(x='gdpPercap', y='lifeExp'))
(p + geom_point(mapping=aes(color='np.log(pop)'))
+ scale_x_log10()
)