首页 > 其他分享 >matplotlib 中文字体 汉字

matplotlib 中文字体 汉字

时间:2023-02-11 20:35:12浏览次数:36  
标签:plt SimHei envs 汉字 华文 中文字体 matplotlib font

matplotlib 中文字体测试

 

wget https://zihao-openmmlab.obs.cn-east-3.myhuaweicloud.com/20220716-mmclassification/dataset/SimHei.ttf


# /home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans.
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20013 (\N{CJK UNIFIED IDEOGRAPH-4E2D}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 25991 (\N{CJK UNIFIED IDEOGRAPH-6587}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 23383 (\N{CJK UNIFIED IDEOGRAPH-5B57}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20307 (\N{CJK UNIFIED IDEOGRAPH-4F53}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27979 (\N{CJK UNIFIED IDEOGRAPH-6D4B}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 35797 (\N{CJK UNIFIED IDEOGRAPH-8BD5}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)
findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans.
findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans.
/home/software/anaconda3/envs/tf115/lib/python3.7/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 36724 (\N{CJK UNIFIED IDEOGRAPH-8F74}) missing from current font.
  fig.canvas.print_figure(bytes_io, **kw)

原因:

字体文件放置的位置不对。

解决方法:

(1) 字体文件的位置:

../anaconda3/envs/yolov5/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/

 (2)清除缓存

import matplotlib.pyplot as plt
%matplotlib inline

print(matplotlib.get_cachedir())


rm -rf /root/.cache/matplotlib

(3)重启kernel

(4)

import matplotlib.pyplot as plt
%matplotlib inline

import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
print(matplotlib.get_cachedir())
matplotlib.rc("font",family='SimHei') # 中文字体
plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号

plt.plot([1,2,3], [100,500,300])
plt.title('matplotlib中文字体测试', fontsize=25)
plt.xlabel('X轴', fontsize=15)
plt.ylabel('Y轴', fontsize=15)
plt.show()

 

 ====================================================

一、方法一

修改局部字体样式,在需要显示中文的地方增加 fontproperties 属性。

    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3, 4])
    plt.title('自定义标题名称', fontproperties='SimHei')
    plt.show()

二、方法二

修改全局字体样式,需要使用 matplotlib 模块的 rcParams

    import matplotlib.pyplot as plt
     
    #####################################
    from matplotlib import rcParams
    rcParams['font.family'] = 'SimHei'
    #####################################
     
    plt.plot([1, 2, 3, 4])
    plt.title('自定义标题名称')
    plt.show()

三、方法三

在代码中插入以下三行代码

    from pylab import *
    mpl.rcParams['font.sans-serif']=['SimHei']
    mpl.rcParams['axes.unicode_minus']=False

链接:https://blog.csdn.net/hfy1237/article/details/128218567

 

======================================================

可以直接从window系统中找到(C:/windows/Fonts),复制即可

 

常用中文字体

    宋体:SimSun

    黑体:SimHei

    微软雅黑:Microsoft YaHei

    微软正黑体:Microsoft JhengHei

    新宋体:NSimSun

    新细明体:PMingLiU

    细明体:MingLiU

    标楷体:DFKai-SB

    仿宋:FangSong

    楷体:KaiTi

    隶书:LiSu

    幼圆:YouYuan

    华文细黑:STXihei

    华文楷体:STKaiti

    华文宋体:STSong

    华文中宋:STZhongsong

    华文仿宋:STFangsong

    方正舒体:FZShuTi

    方正姚体:FZYaoti

    华文彩云:STCaiyun

    华文琥珀:STHupo

    华文隶书:STLiti

    华文行楷:STXingkai

    华文新魏:STXinwei

 

————————————————

 

 

 

 

REF

https://blog.csdn.net/hfy1237/article/details/128218567

https://blog.csdn.net/lemonbit/article/details/121433603

https://blog.csdn.net/BIT_666/article/details/122365074

 

标签:plt,SimHei,envs,汉字,华文,中文字体,matplotlib,font
From: https://www.cnblogs.com/emanlee/p/17112468.html

相关文章

  • matplotlib2(同坐标多图形/多个坐标系实线绘图)
    4.在一个坐标下绘制多个图形importmatplotlib.pyplotaspltimportrandomfrompylabimportmpl#设置显示中文字体mpl.rcParams["font.sans-serif"]=["SimHei"]......
  • 基于Linux的DockerFile添加中文字体
    FROMopenjdk:8u332-oraclelinux7#RUNsed-i's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g'/etc/apk/repositories#RUNapkadd--updatefont-adobe-100dpittf......
  • 【Matplotlib-1】-使用Matplotlib绘制图表组成元素
    说明:深度学习的实验中,图形的绘制和数据的可视化非常重要。使用Matplotlib用于绘制图形中的库。1绘制简单图形生成一个y=sin(x)正弦函数importnumpyasnpimportmatplotli......
  • Matplotlib基础
    Matplotlib1.什么是matplotlib​ 专门用于开发2D图表(包括3D图表,但不怎么擅长3D图表)以渐、交互式实现数据可视化2.hello_matplotlib简单折线图的绘制importmatp......
  • vue过滤出字符串中的汉字,match加正则
    vue过滤出字符串中的汉字,match加正则 str="23申迪MTN001(102380026)";str.match(/[\u4e00-\u9fa5]/g).join("").match返回的是数组/[\u4e00-\u9fa5]/g筛选字符串......
  • matplotlib中文乱码
    添加两句代码:plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False #coding=utf-8importmatplotlib.pyplotaspltdecisionNode=......
  • css中文字体和Unicode编码转换方法
    在网站中,都不可避免的要用到一些中文字体,比如宋体,微软雅黑,黑体等,在css中写入中文的方法一般是:font-family:"微软雅黑","黑体";这样类似的表达方式。css样式文件也区分文......
  • XX汉字笔顺去广告方法
    过年想给家里小孩下了一个笔画软件,没想到随便点几下全是广告,然后又多下了几个全是一个样,无一例外都是广告集合体,然后我挑了一个UI比较好看的app,然后用MT一看,竟然没加固!!!然......
  • js 正则表达式 匹配除汉字、字母、数字、逗号、句号、括号外的特殊字符(用来规范输入内
    /[^\u4e00-\u9fa5a-zA-Z\d,.,。()]+/其中\u4e00-\u9fa5匹配汉字,a-zA-Z匹配字母,\d匹配数字,,.,。()匹配逗号、句号或括号,^表示非,+表示尽可能多的匹配。letnameReg=/^[a-zA-Z0-......
  • Python \xee16进制转中文汉字
    在网络传输的时候会默认编码问题再加上编码器老旧的问题导致utf-8反编不成功直接导入到16进制数据变为ascll码试一试正好一下成功代码例子如下 importbinascii ......