【问题标题】:How to map continuous variable to color in plotnine?如何将连续变量映射到plotnine中的颜色?
【发布时间】:2019-09-08 14:36:01
【问题描述】:

我正在尝试将连续变量映射到 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()
 )

【问题讨论】:

    标签: python python-ggplot plotnine


    【解决方案1】:

    在字符串中创建表达式。在该字符串中,您可以引用数据框中的列和环境中的变量。而且使用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()
     )
    

    【讨论】:

      猜你喜欢
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多