Matplotlib 中文宋体 & 英文 Times New Roman 设置

Matplotlib 中文宋体 & 英文 Times New Roman 设置安装宋体查找 plt 安装目录 locate b mpl data 得到 usr local lib python2 7 dist packages matplotlib mpl data usr local lib python3 5 dist packages matplotlib mpl datampl data 文件夹下有个 fonts ttf 文件夹 将 ttf 格式的字体文件复制到此 ttf 文件夹下即可 sudomvSimSun ttf usr local lib p

安装宋体

查找plt安装目录:

locate -b '\mpl-data'

得到:

/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data

mpl-data文件夹下有个/fonts/ttf文件夹,将ttf格式的字体文件复制到此ttf文件夹下即可

sudo mv SimSun.ttf /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf

SimSun.ttf下载:https://github.com/micmro/Stylify-Me/blob/master/.fonts/SimSun.ttf

接下来删除当前用户matplotlib的缓冲文件:

rm -rf ~/.cache/matplotlib/*

中文设置

参考:Matplotlib 中英文及公式字体设置

原理:

  1. 使用fontproperties局部设置字体为宋体
  2. 英文放到公式中,使用stix字体,此字体非常接近于Times New Roman
  3. 其余字体为默认字体(坐标轴刻度等)
#coding:utf-8 import os import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties from matplotlib import rcParams # 全局设置字体及大小,设置公式字体即可,若要修改刻度字体,可在此修改全局字体 config = { "mathtext.fontset":'stix', # "font.family":'serif', # "font.serif": ['SimSun'], # "font.size": 15, } rcParams.update(config) # 载入宋体 SimSun = FontProperties(fname='/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/SimSun.ttf') x = np.linspace(0, 10, 1000) plt.plot(x, np.sin(x), label=u"宋体 $\mathrm{1}$") # 图例 plt.plot(x, np.cos(x), label=u"宋体 $\mathrm{2}$") # 图例 plt.title(u'宋体 $\mathrm{Times \; New \; Roman1}$', size=14, fontproperties=SimSun) # 局部设置中文为宋体,英文数字为Times New Roman plt.xlabel(u'宋体 $\mathrm{Times \; New \; Roman2}$', size=14, fontproperties=SimSun) plt.ylabel(u'宋体 $\mathrm{Times \; New \; Roman3}$', size=14, fontproperties=SimSun) plt.text(3, 0.5, u"宋体 $\mathrm{12}$", size=14, fontproperties=SimSun) # 设置标注文字中文为宋体,英文数字为Times New Roman plt.legend(prop={'family': 'SimSun', 'size': 12}) # 设置图例字体为宋体 # plt.axis('off') # 刻度仍为默认字体 plt.savefig("usestix.pdf", dpi=600, bbox_inches='tight') # 保存为pdf # plt.savefig("usestix.svg") # 若使用了公式,直接导出的svg无法使用 os.system("pdf2svg usestix.pdf usestix.svg") # 将pdf转换为svg(若仅需要设置中文字体,则不需要使用pdf2svg进行转换) plt.show()

转换为svg

plt导出的svg中不能有公式,因而先导出为pdf,然后将pdf转换为svg,有三种转换方式:

1、使用pdf2svg

  安装:sudo apt install pdf2svg

  优点:可直接在代码中转换

  缺点:文件尺寸稍大

2、使用AI

  优点:文件尺寸小

  缺点:需手动操作

3、使用inkscape

  文件尺寸最大,不建议使用

效果展示

Matplotlib 中文宋体 & 英文 Times New Roman 设置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230600.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dubbo常见面试题整理(dubbo原理面试题)

    1.dubbo:rpc底层调用原理和过程、负载均衡规则、如何进行版本控制dubbo核心组件Remoting: 网络通信框架,实现了sync-over-async和request-response消息机制.RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能Registry: 服务目录框架用于服务的注册和服务事件发布和订阅 dubbo1)远程通…

    2022年4月16日
    44
  • 数据库迁移常见的四种方法

    数据的迁移就像搬家,基本每个用过手机的人都做过数据迁移,将旧智能手机中的电话号码、照片、微信聊天记录导入到另一台新的智能手机。因此数据迁移并不神秘。在上云的过程中,因数据的量更大、数据重要性更大、专业性更强,因此在公有云上诞生了“云迁移”这项目服务,在公有云市场也有上百个云服务商专业做“云迁移”服务。今天我们来讲三种常用的云数据库迁移方法。一、为什么做云迁…

    2022年4月5日
    118
  • 计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」

    计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」问题现象最近远程协助一个用户的电脑(TeamView竟然连接不上,只好用QQ远程啦),原来ANSI编码的ini文件里的中文是正常的;用着用着,某一天就乱码了,无法识别ANSI编码文件里的中文。创建ANSI编码的ini配置文件,输入中文后保存会提示“…该文件有Unicode格式的字符,当文件保存为ANSI编码的文本时,该字符将丢失…”的问题。原因Unicode和ANSI是两种不同的字符编…

    2025年12月4日
    3
  • json和jsonp的使用区别

    json和jsonp的使用区别

    2021年11月6日
    37
  • 产品密钥无法激活成功,最后使用visio2013激活软件激活成功。「建议收藏」

    产品密钥无法激活成功,最后使用visio2013激活软件激活成功。「建议收藏」装了visio2013,使用网上搜索的产品密钥,没有一个能够激活成功。最后发现了visio的一个激活软件KMSpico,成功激活。激活成功教程工具KMSpico_setup.exe下载地址:https://pan.baidu.com/s/1wElfmRaufSpQGloLgQC64g提取码:kv2h安装后,从开始->程序->KMSpico->启动KMSpic…

    2022年6月24日
    66
  • Python 奇淫技巧 — 利用pandas读取xml转换为excel

    Python 奇淫技巧 — 利用pandas读取xml转换为excel因为工作需要,将xml中特定的节点值取出来,然后统计到excel中。于是乎试试写了一个python脚本,加快工作效率。而且今后还能复用。以下为完整示例,需要的朋友们可参考。示例XML<?xmlversion=”1.0″encoding=”utf-8″?><breakfast_menu><food><name>BelgianWaffles</name><price>$5.95

    2022年8月22日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号