优草派 > Python

python改黑体字?

王志强         优草派

Python是一门简单易学,功能强大的编程语言,由于其开源性和跨平台性,在数据爬虫、办公自动化、图像处理等方面得到了广泛应用。但是,在一些应用场景中,Python默认的字体可能不太符合个人喜好或者对于一些场景比较不友好。例如,我们在使用Matplotlib绘制图表的时候,会发现轴标签和刻度默认使用的是Tahoma字体,但是我更喜欢微软雅黑字体。

python改黑体字?

那么,Python怎样改变默认字体呢?下面针对不同应用场景进行分析。

**1. Matplotlib绘图**

Matplotlib是Python中最常用的数据可视化工具之一,但是它默认的字体设定可能不符合大众审美。对于Matplotlib字体的设置分为以下几步:

①找到字体文件路径

对于Windows环境,可以在字体文件夹中找到需要的字体文件,文件名一般以.ttf结尾。使用下面的代码可以输出在Windows系统中已安装的所有字体的名字:

```python

import matplotlib.font_manager as fm

fonts = fm.win32InstalledFonts()

for font in fonts:

print(fm.FontProperties(fname=font).get_name())

```

而在Linux/Unix环境下,可以使用以下命令定位系统中所有的字体文件:

```bash

find / -name '*.[ot]tf'

```

②将字体库文件拷贝到Matplotlib字体路径

Matplotlib默认的字体库路径可以通过以下方式查看:

```python

import matplotlib.pyplot as plt

plt.rcParams['font.family']

```

该命令会输出如下结果:

```

['sans-serif']

```

其中sans-serif是默认字体库的名称。所以,我们需要将自定义字体库文件拷贝到这个目录下。可以使用以下代码来实现:

```python

import matplotlib

import os

# 将字体库文件的路径添加到Matplotlib的字体路径中

my_font_path = '/path/to/my/font/file.ttf'

font_name = os.path.splitext(os.path.basename(my_font_path))[0]

font_path = os.path.dirname(my_font_path)

if os.path.exists(my_font_path):

matplotlib.font_manager.fontManager.addfont(myFontPath)

# 将自定义字体设为默认字体

matplotlib.rcParams['font.family'] = font_name

```

至此,你就可以尝试使用自定义的字体来绘制图表了。例如,使用微软雅黑字体的方法为:

```python

import matplotlib.pyplot as plt

plt.rcParams['font.family']=['Microsoft YaHei']

```

**2. Pandas表格**

在使用Pandas时,数据量较大的表格在输出到Excel时,可能会引起字体错乱的问题,这里介绍一种解决方法:

```python

from pandas import ExcelWriter

from openpyxl import load_workbook

# 调用ExcelWriter()函数,将DataFrame写入到Excel中

writer = ExcelWriter('output.xlsx')

df.to_excel(writer, index=False, sheet_name='Sheet1')

# 使用openpyxl来修复Excel字体错乱问题

workbook = writer.book

wb = load_workbook('output.xlsx')

for ws in wb.worksheets:

for col in ws.columns:

max_length = 0

column = col[0].column_letter

for cell in col:

try:

if len(str(cell.value)) > max_length:

max_length = len(str(cell.value))

except:

pass

adjusted_width = (max_length + 2)

ws.column_dimensions[column].width = adjusted_width

# 保存Excel

wb.save('output.xlsx')

```

**3. TKinter图形界面**

Python的图形用户界面工具包(TKinter)中,默认的字体是TkDefaultFont。由于这个字体可能并不是你想要的,可以使用以下代码设置自己喜欢的字体:

```python

from tkinter import *

from tkinter import ttk

root = Tk()

root.title('Title')

# 定义字体

my_font = ('Arial', 24)

# 创建标签

my_label = Label(root, text='Hello World!', font=my_font)

my_label.pack()

root.mainloop()

```

总之,无论是Matplotlib图表、Pandas表格还是Python GUI工具集,通过上述方法,将字体库文件添加到Python搜索路径中,以及更改默认字体设置,都可以轻松实现个性化的字体设定。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024