0

我正在尝试将连续变量映射到 plotnine 中的颜色。在 R 中,我可以通过将颜色参数设置为log(pop). 在 plotnine 中,我尝试了这种替代方法,它会产生这个错误:

ValueError:300573x430 像素的图像尺寸太大。每个方向必须小于 2^16。

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()
 )
4

1 回答 1

0

在字符串中创建表达式。在该字符串中,您可以引用数据框中的列和环境中的变量。而且使用来自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()
 )
于 2019-09-08T23:38:40.303 回答