我想知道是否有可能安装在Altair中使用的字体,以便在alt.TitleParams中使用.在本例中,如果没有指定字体,我将获得默认的字体和大小.

import altair as alt
import pandas as pd

source = pd.DataFrame({
    'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
    'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})

alt.Chart(source, title = alt.TitleParams(text = 'Example Chart')).mark_bar().encode(
    x='a',
    y='b'
)

enter image description here

更改字体大小后,我会看到更大的字母:

alt.Chart(source, title = alt.TitleParams(text = 'Example Chart', fontSize=24)).mark_bar().encode(
    x='a',
    y='b'
)

enter image description here

但是,当我添加字体样式时,大小不再起作用:

alt.Chart(source, title = alt.TitleParams(text = 'Example Chart'
                                          , fontSize=24
                                          , fontStyle = 'Arial')).mark_bar().encode(
    x='a',
    y='b'
)

enter image description here

无论指定什么字体,文本看起来都是一样的:

alt.Chart(source, title = alt.TitleParams(text = 'Example Chart'
                                          , fontSize=24
                                          , fontStyle = 'Calibri')).mark_bar().encode(
    x='a',
    y='b'
)

同样的事情:

enter image description here

我想知道如何显示正确的字体,不仅使用标准字体,而且使用非标准字体,以及如何安装它们.

推荐答案

fontStyle表示字体的样式,如"粗体"、"斜体"等.如果要按名称指定字体,请使用font参数:

alt.Chart(
    source,
    title=alt.TitleParams(
        text='Example Chart',
        fontSize=24,
        fontStyle='italic',
        font='Times'
    )
).mark_bar().encode(
    x='a',
    y='b'
)

enter image description here

Python相关问答推荐

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

acme错误-Veritas错误:模块收件箱没有属性linear_util'

Polars LazyFrame在收集后未返回指定的模式顺序

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

Pandas 有条件轮班操作

如何列举Pandigital Prime Set

在Python中管理打开对话框

如何过滤包含2个指定子字符串的收件箱列名?

在vscode上使用Python虚拟环境时((env))

python中字符串的条件替换

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

启用/禁用shiny 的自动重新加载

基于行条件计算(pandas)

LocaleError:模块keras._' tf_keras. keras没有属性__internal_'''

ModuleNotFoundError:Python中没有名为google的模块''

如何用FFT确定频变幅值

PYTHON中的pd.wide_to_long比较慢

Stats.ttest_ind:提取df值

解析CSV文件以将详细信息添加到XML文件

为什么fizzbuzz在两个数字的条件出现在一个数字的条件之后时不起作用?