概述
系统:MAC os系统
目标:使用python的matplotlib画柱状图,以及matplotlib中文显示乱码问题。
-
画柱状c
#导入所需要的库
import matplotlib.pyplot as plt
#要设置下面两行才能显示中文 Arial Unicode MS 为字体
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
#设置图片大小
plt.figure(figsize=(20, 11), dpi=200)
movie_name = ['aaa','bbb','ccc']
test1 = [29, 17, 27]
test2 = [35, 22, 30]
test3 = [37, 23, 31]
# 先得到movie_name长度, 再得到下标组成列表
x = range(len(movie_name))
plt.bar(x, test1,label="test1", width=0.2)
# 向右移动0.2, 柱状条宽度为0.2
plt.bar([i + 0.225 for i in x], test2,label="test2", width=0.2)
plt.bar([i + 0.45 for i in x], test3,label="test3", width=0.2)
#设置图例并且设置图例的字体及大小
font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size' : 21,
}
plt.legend(prop=font1)
# 底部汉字移动到两个柱状条中间(本来汉字是在左边蓝色柱状条下面, 向右移动0.1)
plt.xticks([i + 0.35 for i in x], movie_name)
#设置坐标刻度值的大小以及刻度值的字体
plt.yticks(fontproperties = 'Times New Roman', size = 40)
plt.xticks(fontproperties = 'Times New Roman', size = 40)
#设置横纵坐标的名称以及对应字体格式
font2 = {'family' : 'Arial Unicode MS',
'weight' : 'normal',
'size' : 35,
}
plt.xlabel('电影名字',font2)
plt.ylabel('分值',font2)
plt.show()
-
matplotlib中文显示乱码问题。
Macos系统的matplotlib中文显示的快捷方法,不用下载字体,只需要修改一下matplotlib的配置文件即可,方便快捷,不过这种方法只能使用特定的字体,如果不接受这种字体的,可以搜搜下载字体法,这里就不在赘述。
1.首先找到matplotlibrc 文件
首先,找到matplotlib所在路径
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
然后,这里有两种修改matplotlibrc 文件方法。
第一种,
(1)找到 #font.family:sans-serif ,将前面的“#”删除
(2)找到 #font.sana-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
在 “DejaVu Sans” 前面添加 “Arial Unicode MS, ”
(3)找到axes.unicode_minus 将其后面的“True” 改为“False”
第二种,比较方便快捷,直接在文件末尾加上这三行。
font.family: sans-serif
font.sans-serif: Arial Unicode MS, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus: False
两种方法效果一致。
2.删除~/.matplotlib目录下的两个文件
rm -rf ~/.matplotlib/*
3.最后一步,重启python,即可解决中文及“-”无法正常显示的问题。
测试程序:
x = ['王俊凯', '金厉旭', '-1']
y = [1, 2, 3]
plt.plot(x, y)
plt.show()
参考链接:
https://blog.csdn.net/love__live1/article/details/83143195
https://blog.csdn.net/u010358304/article/details/78906768
https://my.oschina.net/u/1180306/blog/279818
https://blog.csdn.net/qq_34554039/article/details/91356634
https://www.cnblogs.com/cymwill/p/10554916.htmlhttps://www.cnblogs.com/hum0ro/p/9781390.html
最后
以上就是高大枕头为你收集整理的【MAC os】python matplotlib 柱形图 画图刻度、图例等字体、字体大小以及matplotlib中文显示乱码问题画柱状cmatplotlib中文显示乱码问题。的全部内容,希望文章能够帮你解决【MAC os】python matplotlib 柱形图 画图刻度、图例等字体、字体大小以及matplotlib中文显示乱码问题画柱状cmatplotlib中文显示乱码问题。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复