使用 Altair 和 Jupyter 绘图时如何在轴标签中显示希腊字母?

Posted

技术标签:

【中文标题】使用 Altair 和 Jupyter 绘图时如何在轴标签中显示希腊字母?【英文标题】:How to display Greek letters in Axis labels when plotting with Altair and Jupyter? 【发布时间】:2018-04-30 12:25:05 【问题描述】:

如何在 Altair 中写希腊字母?我需要为轴标签使用一些符号。我正在使用 Jupyter 笔记本

【问题讨论】:

【参考方案1】:

您可以在坐标轴中显示希腊字母,方法是使用坐标轴中所需符号的Greek Unicode。

工作示例:

import altair as alt
from vega_datasets import data
unicode_gamma = '\u03b3'
# for the notebook only (not for JupyterLab) run this command once per session
alt.renderers.enable('notebook')

iris = data.iris()


alt.Chart(iris).mark_point().encode(
    x=alt.X('petalLength', axis=alt.Axis(title=' Alpha Beta Gamma \u03b1 \u03b2 '+ unicode_gamma)),
    y='petalWidth',
    color='species'
)

产生:

【讨论】:

【参考方案2】:

Altair 不支持像 matplotlib 这样的 Latex 数学,因为 Vega 仅支持 Unicode 字符。

昨天我尝试将使用 matplotlib 生成的旧图转换为 Altair 时遇到了同样的问题,并且标签/标题没有正确显示。上面的答案很好,只是想补充一点,一些常见的上标/下标也有可以传递到 Altair/Vega 的 unicode。

查看这个精彩的答案:How to find the unicode of the subscript alphabet?

【讨论】:

以上是关于使用 Altair 和 Jupyter 绘图时如何在轴标签中显示希腊字母?的主要内容,如果未能解决你的问题,请参考以下文章

让 Altair 与 Jupyter Notebook 一起工作

使用jupyter pycharm时如何获取pyplot的交互式绘图

Plotly express 与 Altair/Vega-Lite 的交互式绘图

如何在 python jupyter notebook 中绘图?

Altair mark_line 的绘图比 matplotlib 更嘈杂?

保存图形时Jupyter-notebook不透明的绘图环境