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

标签 python altair

除了调用 alt.renderers.enable('mimebundle') 之外,有没有办法启用渲染器?在代码中?那么,如果用户导入 altair,她就不必执行任何其他操作?

例如,在 plotly 中你可以设置一个环境变量 PLOTLY_RENDERER=plotly_mimetype . Altair 有类似的东西吗?

最佳答案

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

但是如果你使用 Jupyter,你可以提供一个 IPython 启动脚本来执行此操作;例如,您可以在路径 ~/.ipython/profile_default/startup/start.py 处创建一个文件内容如下:

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

这将在任何 Jupyter/IPython session 开始时执行。

如果您不想在每个 session 中都导入 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

关于python - Altair:指定默认启用的渲染器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60350621/

相关文章:

javascript - Altair:Javascript 错误阻止图表显示

python - 如何将单个文本标签添加到 Altair 散点图中的最大点?

altair - 有没有办法一直显示 Altair Tooltip?

geopandas - 在 Altair 图表中绘制 GeoPandas 数据是否有更简单的方法?

python - 在 python 中检索对象的 'help' 文档字符串

python - 这是使用 groupby、apply 和 join 的最快/python 方式吗?

python - 是否有 python 方法根据提供的新索引重新排序列表?

python - 计算不包括空格的字符数 - python

python - Pandas:在一个箱线图中为传单设置不同的颜色

python - 无法在 jupyter 笔记本中显示 Altair 图表