python 2: 解决python中的plot函数的图例legend不能显示中文问题

 问题:

图像标题、横纵坐标轴的标签都能显示中文名字,但是图例就是不能显示中文,怎么解决呢?

 解决:

1 plt.figure()
2 plt.title(u‘训练性能‘, fontproperties=font)
3 plt.plot(history.epoch, history.history[‘loss‘], label=u‘训练误差‘)
4 plt.plot(history.epoch, history.history[‘val_loss‘], label=u‘验证误差‘)
5 plt.ylabel(u‘误差‘, fontproperties=font)
6 plt.xlabel(u‘训练次数‘, fontproperties=font)
7 plt.legend(prop =font)
8 fig_name = save_path + ‘/‘ + ‘Training performance_‘ + datetime.now().strftime("%Y%m%d") + ‘.pdf‘
9 plt.savefig(fig_name)

 1 x = np.arange(1, 11, 1)
 2 plt.figure()
 3 plt.title(u‘训练性能‘, fontproperties=font)
 4 plt.plot(x, x * 2, label=u‘训练误差‘)
 5 plt.plot(x, x * 3, label=u‘验证误差‘)
 6 plt.ylabel(u‘误差‘, fontproperties=font)
 7 plt.xlabel(u‘训练次数‘, fontproperties=font)
 8 plt.legend(prop =font)
 9 fig_name = save_path + ‘/‘ + ‘Training performance_‘ + datetime.now().strftime("%Y%m%d") + ‘.pdf‘
10 plt.savefig(fig_name)

参考文献:

显示图例(legend)

How to set font size of Matplotlib axis Legend?

时间: 2024-12-19 04:20:33

python 2: 解决python中的plot函数的图例legend不能显示中文问题的相关文章

python实现类似于Matlab中的magic函数

参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def magic(n): row,col=0,n//2 magic=[] for i in range(n): magic.append([0]*n) magic[row][col]=1 for i in range(2,n*n+1): r,l=(row-1+n)%n,(col+1)

[python] 字典和列表中的pop()函数

在字典和列表中,pop()函数都是删除特定元素,并将删除的元素返回给指定的变量或丢弃 一.字典元素删除 1.1 clear() 语法:dict.clear() 1 x = {'a':1, 'b':2, 'c':3} 2 m= x.clear() 3 print(x,m) 4 #输出 5 {} None 说明:删除所有的元素 1.2 pop() 语法:dict.pop(key,[value]) 说明:删除指定键及对应的值,如果在字典中不存在键及value,则返回pop()中指定的key对应的val

python 迭代器 itertools模块中常用工具函数

迭代器 itertools模块中常用工具函数,提供了接近二十个迭代器工具函数. 原文地址:https://www.cnblogs.com/bcyczhhb/p/11809842.html

【Matlab】Matlab中的plot函数及legend函数解析 持续更新...

Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线:如果Y是n×1或者1×n的向量

解决VS2017中使用scanf函数报错的问题

我们在VS2017中如果使用C语言的scanf输入函数,编译的时候编译器会报error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 这个是因为VS使用的是C11新标准导致的 解决方法如下 1.在文件头部

解决了一个困扰我近一年的vim显示中文乱码的问题

今天解决了vi命令打开日志文件中文总是显示乱码的问题.由于项目组中的日志包含一些特殊字符,所以使用vim打开日志文件时总是不能正确识别出文件字符编码.此时用:set fileencoding命令可以看出vim把文件编码识别成latin1. 在这种情况下无论终端设置成gbk还是utf-8编码,都不能正确显示中文. 解决方法有两个: 1 使用:e ++enc=utf-8命令强制让vim以utf-8编码重新打开文件 注意:由于我们程序有时也会输出gbk编码的中文字符日志,所以有时还会有少量乱码. 2

Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: # 从sklearn.preprocessing导入StandardScaler from sklearn.preprocessing import StandardScaler # 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导 ss = Standard

matplotlib中 plt.plot() 函数中**kwargs的参数形式

plt.plot(x, y, **kwargs) **kwargs的参数大致有如下几种: color: 颜色 linestyle: 线条样式 marker: 标记风格 markerfacecolor: 标记颜色 markersize: 标记大小 备注: color = linestyle =  (linestyle = 'none' 或 linestyle = ' '    表示没有线条) marker = 原文地址:https://www.cnblogs.com/shuaishuaidefei

解决RStudio中&quot;plot.new() : figure margins too large&quot;问题

在RStudio中使用plot()函数进行画图时,常出现"plot.new() : figure margins too large"问题.如图(1)所示. 出现该问题的原因是,RStudio里的[Plots]窗口太小,可以适当调大一点,或者把RStudio设置为全屏.解决步骤如下. 1.用鼠标选中[Plots]选项卡,然后把该窗口拖大一点即可,如图(2)所示. 图(2) 将[Plots]窗口拖大 2. 测试代码 //数据源 drink.txt index heat caffeine