Altair:指定默认启用的渲染器

2024-03-28 20:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

除了在代码中调用alt.renderers.enable('mimebundle')之外,是否有其他方法可以启用呈现程序?因此,如果用户导入altair,她不必执行任何其他操作

例如,在plotly中,可以设置环境变量PLOTLY_RENDERER=plotly_mimetype。牵牛星中有类似的东西吗


Tags: 方法代码用户程序enable环境变量plotlyalt
1条回答
网友
1楼 · 发布于 2024-03-28 20:32:06

不,Altair目前除了调用alt.renderers.enable之外,没有任何机制来指定渲染器

但是如果您使用的是Jupyter,那么您可以提供一个IPython启动脚本来实现这一点;例如,您可以在路径~/.ipython/profile_default/startup/start.py处创建包含以下内容的文件:

import altair
altair.renderers.enable('notebook')

这将在任何Jupyter/IPython会话开始时执行

如果不希望在每个会话中导入Altair,可以在该文件中定义一个Python import hook,它将在第一次导入Altair时执行自定义代码。例如,它可能看起来像这样:

import imp
import os
import sys

class _AltairImportHook(object):
  def find_module(self, fullname, path=None):
    if fullname != 'altair':
      return None
    self.module_info = imp.find_module(fullname, path)
    return self

  def load_module(self, fullname):
    """Loads Altair normally and runs pre-initialization code."""
    previously_loaded = fullname in sys.modules
    altair = imp.load_module(fullname, *self.module_info)

    if not previously_loaded:
      try:
        altair.renderers.enable('notebook')
      except:
        pass
    return altair

sys.meta_path = [_AltairImportHook()] + sys.meta_path

相关问题 更多 >