python画图中文不显示问题的解决方法
作者:sinysama 发布时间:2023-05-30 14:07:09
标签:python,画图,中文
前言
python画图,如果用英文显示基本没有问题,但是中文可能会有乱码或者不显示的情况。
经过个人的测试,下图中“横轴”,“纵轴”字样的中文显示没有什么大问题,主要是plt.title部分和plt.plot部分的显示
一、plt.title中文显示的解决:
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\SIMLI.TTF", size=15)
plt.title(u'小明的标题', FontProperties=font_set)
FontProperties中加载的就是本地的字体
路径:C:\Windows\Fonts
选中字体鼠标右键属性即可复制名字进行替换
font_set = FontProperties(fname=r"c:\windows\fonts\SIMLI.TTF", size=15)
从改变字体的结果来看,横纵坐标和标题区域受影响,plt.plot不受影响
二、plt.plot中文显示的解决:
与上述类似,加下列一行即可
plt.legend(prop={'family':'SimHei','size':15})
三、供参考代码
from matplotlib import pyplot
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)
import matplotlib
import numpy as np
%matplotlib inline
plt.rcParams['figure.figsize'] = (12.0, 8.0) # set default size of plots
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'
# plt.rcParams['font.sans-serif']=['SimHei']
# plt.rcParams['axes.unicode_minus']=False
# 设置标题大小
plt.rcParams['font.size'] = '16'
fig = plt.figure()
matplotlib.rcParams.update(
{
'text.usetex': False,
'font.family': 'stixgeneral',
'mathtext.fontset': 'stix',
}
)
# myfont = FontProperties(fname='/homenuxidc/.local/fonts/文泉驿正黑.ttf')
x = range(0,102,2)
x = [str(x) for x in list(x)]
x = range(len(x))
#这里如果取得值,最好省略,否则冗余代码太多
dj1=[0.140885022563663,0.285128051316358,0.331236115292078,0.372582750937596,0.463174450139405,0.586773503380428,0.542598182149781,0.542598182149781,0.564956686389027,0.542598182149781,0.519630577568173,0.428649426296771,0.676284101462148,0.635875231620977,0.564956686389027,0.542598182149781,0.564956686389027,0.62899995822798,0.676284101462148,0.721874028834649,0.676284101462148,0.702515362688485,0.682890636232397,0.557567115066442,0.564956686389027,0.635875231620977,0.656252254277025,0.676284101462148,0.721874028834649,0.62899995822798,0.62899995822798,0.702515362688485,0.759939881400332,0.702515362688485,0.696005029828444,0.656252254277025,0.696005029828444,0.676284101462148,0.608105164606941,0.741002175030875,0.721874028834649,0.702515362688485,0.721874028834649,0.62899995822798,0.608105164606941,0.682890636232397,0.676284101462148,0.702515362688485,0.696005029828444,0.696005029828444,0.696005029828444]
plt.plot(x, dj1,marker='s',label=u'小明')
plt.grid(linestyle='--')
plt.grid(axis="x")
plt.title(u'SimHei', fontproperties=font_set)
plt.title('小明的标题')
plt.legend() # 让图例生效
y_major_locator=MultipleLocator(0.1)
ax=plt.gca()
ax.yaxis.set_major_locator(y_major_locator)
plt.ylim(0,1)
plt.xlim(0,55)
plt.margins(0)
plt.subplots_adjust(bottom=0.001)
plt.xlabel("横轴",fontproperties=font_set) #X轴标签
plt.ylabel("纵轴",fontproperties=font_set) #Y轴标签
plt.legend(prop={'family':'SimHei','size':15})
来源:https://blog.csdn.net/QAQIknow/article/details/116974056


猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧~import numpy as np kernel = np.array([1, 1, 1, 2])
- 学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层。虽
- @Test public void test33() {
- 1.奇偶校验我们约定一串编码里1的个数是偶数个,那么这串编码里携带的信息就是对的,否则就是错的。我们可以在开头对这串编码加一位校验码实现奇偶
- PHP并非不能实现HTTP服务,一般来讲,这叫网络编程或Socket编程。在学习到其他语言的这部分的时候,一般的思路就是如何监听TCP实现一
- 用法本脚本用于批量扫描端口 1.在同目录下创建输入文件,属性inputFile为输入文件名2.属性th为线程数3.属性port为探测的目标端
- 目录一、MySQL的join buffer二、join buffer cache存储空间的分配三、普通的多表查询实现四、join buffe
- 匹配双字节字符(包括汉字在内): [^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII
- 一.脚本基础 1.USE语句 &n
- 3.0迟迟没有发布release版本,现阶段在Vue项目中使用Typescript需要花不小的精力在工程的配置上面。主要的工作是webpac
- 我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,为了使用tensorboard这一套完美的可视化工具
- Python局部函数及用法通过前面的学习我们知道,Python 函数内部可以定义变量,这样就产生了局部变量,有读者可能会问,Python 函
- 1.1 什么是Mysql多实例?简单的说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(如 : 3306/3307/3308
- 1.返回值介绍现实生活中的场景:我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟
- Opera, 作为 A-Grade 浏览器,在现在的前端开发中务必支持。它很优秀,很不幸,bug是每个浏览器都不可避免的问题,Opera亦难
- python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供
- css里关于浏览器的兼容问题一直困惑着我们初级的css用户(高手可直接绕过),这里想根据我前段时间拜读的李超的书籍《css网站布局实录》里学
- 一、框架架构二、项目目录结构三、框架功能说明解决痛点:通过session会话方式,解决了登录之后cookie关联处理框架天然支持接口动态传参
- SQLPrompt是Sql Server 开发智能提示插件,方便查询表结果,避免了开发人员一个个敲查询语句、执行语句等,下面带大家仔细了解一
- 要求:用户名:必须是6-10位字母、数字、下划线(这里字母、数字、下划线是指任意组合,没有必须三类均包含)不能以数字开头密码:必须是6-20