我在设置我制作的情节的字体时遇到困难.我正在try 使用安装在我的系统上的字体"Arial Nova Light".我曾多次try 通过提供文件路径和使用系统字体来设置字体系列,但我遇到了以下错误.

findfont: Font family 'Arial Nova' not found.

由于我没有查看此机器上所有目录的权限,这使得这变得稍微困难一些.我在本地使用.ttf文件并通过以下方式设置参数取得了一些成功:

fpath = Path('Arial Nova.ttf')
ax.set_xlabel('position in span (m)', font=fpath)
ax.set_ylabel('temperature (°C)', font=fpath)

然而,我很难找到设置彩色条标签和勾选标记标签字体的方法.

我的代码如下:

def plot(example_param1, example_param2):
    fig, ax = plt.subplots(subplot_kw={"projection": "3d"}, figsize=(12, 6))

    fpath = Path('Arial Nova.ttf')
    print(fpath.name)

    surf = ax.plot_trisurf(distances.flat, temperatures.flat, function(
        example_param1, 
        example_param2
    ).flat, cmap='coolwarm')
    fig.colorbar(surf, ax=ax, shrink=0.5, aspect=5, label='deviation (mm)')
    ax.view_init(elev=30, azim=160)
    ax.set_xlabel('position in span (m)', font=fpath)
    ax.set_ylabel('temperature (°C)', font=fpath)
    plt.show()

是否有一种方法可以在不设置字体系列而使用与设置上面x和y标签字体类似的方法来设置色条和勾选标记标签的字体?

非常感谢

推荐答案

试试这个,

cb=fig.colorbar(surf, ax=ax, shrink=0.5, aspect=5)  
    for tick in ax.get_xticklabels():    
            tick.set_fontproperties(fpath) 
    for tick in ax.get_yticklabels():
            tick.set_fontproperties(fpath) 
   for tick in ax.get_zticklabels():
            tick.set_fontproperties(fpath) 
    for l in cb.ax.yaxis.get_ticklabels():
                l.set_fontproperties(fpath)


cb.ax.set_ylabel('deviation (mm)',font=fpath)

类似问题:Python: how to change font in a colorbar?

Python相关问答推荐

由于瓶颈,Python代码执行太慢-寻求性能优化

Pandas 在最近的日期合并,考虑到破产

Odoo 14 hr. emergency.public内的二进制字段

时间序列分解

Pytest两个具有无限循环和await命令的Deliverc函数

删除任何仅包含字符(或不包含其他数字值的邮政编码)的观察

为什么符号没有按顺序添加?

scikit-learn导入无法导入名称METRIC_MAPPING64'

pandas滚动和窗口中有效观察的最大数量

删除字符串中第一次出现单词后的所有内容

导入...从...混乱

给定高度约束的旋转角解析求解

根据列值添加时区

多处理队列在与Forking http.server一起使用时随机跳过项目

如何在Python中使用另一个数据框更改列值(列表)

比Pandas 更好的 Select

如何删除重复的文字翻拍?

Python 3试图访问在线程调用中实例化的类的对象

使用tqdm的进度条

删除Dataframe中的第一个空白行并重新索引列