900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 在matplotlib使用中文坐标轴 设置坐标轴 标题字体及字体大小

在matplotlib使用中文坐标轴 设置坐标轴 标题字体及字体大小

时间:2022-10-01 01:55:07

相关推荐

在matplotlib使用中文坐标轴 设置坐标轴 标题字体及字体大小

1.matplotlib的坐标轴中一般是不支持中文,在windows中要使用中文坐标轴的话,需要调用电脑中的字体。实现代码:

from matplotlib import font_manager#导入字体管理模块my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")#定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里我设置的宋体plt.xlabel("时间",fontproperties = my_font,fontsize = 18)#在设置x坐标中文标注,令fontproperties = my_font,fontsize令字体为18号#plt.title,plt.ylabel,plt.xticks,plt.yticks设置中文标注类似

完整代码实例如下:

from matplotlib import pyplot as plt#导入matplotlibfrom matplotlib import font_manager#导入字体管理模块import random#导入随机生成模块my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")#定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里我设置的宋体y = [random.randint(20,35) for i in range(120)]#y值为120个在20-35之间随机数x = range(0,120)#x值为0-120plt.figure(figsize=(15,10),dpi=90)#图片大小为15*10,每英寸90个像素点_x_labels = ["10点{}分".format(i) for i in range(60)]_x_labels += ["11点{}分".format(i) for i in range(60)]#设置x坐标轴中文刻度plt.xticks(list(x[::3]),_x_labels[::3],rotation=45,fontproperties=my_font,fontsize = 12)#坐标轴刻度显示步长为3,为了避免坐标轴字体重叠,旋转45度,fontproperties设置字体plt.plot(x,y)plt.xlabel("时间",fontproperties = my_font,fontsize = 18)#设置x坐标标注,字体为18号plt.ylabel("每分钟对应的温度",fontproperties = my_font,fontsize = 18)#设置y坐标标注plt.title("10点到12点每分钟温度变化图",fontproperties = my_font,fontsize = 24)#设置标题plt.plot(x,y)#绘图plt.show()#显示

图片结果如图所示:

2.绘制两条折线及添加图例,添加网格

from matplotlib import pyplot as pltfrom matplotlib import font_managerimport randomplt.figure(figsize=(10,8),dpi=80)my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")x = range(11,31)y_1 = [random.randint(0,5) for i in range(20)]y_2 = [random.randint(0,5) for i in range(20)]_x_label = ["{}岁".format(i) for i in range(11,31)]plt.xticks(list(x[::2]),_x_label[::2],rotation = 45,fontproperties = my_font,fontsize = 12)plt.plot(x,y_1,label = "自己",color="red")plt.plot(x,y_2,label= "朋友",linestyle="--",linewidth=2,alpha = 0.4)plt.xlabel("年龄",fontproperties = my_font,fontsize = 18)plt.ylabel("每年交的朋友",fontproperties = my_font,fontsize = 18)plt.title("11岁到30岁每年交的朋友变化图",fontproperties = my_font,fontsize = 24)plt.grid(alpha = 0.4)#添加网格,alpha = 0.4透明度plt.legend(prop=my_font,loc='best')#添加图例plt.show()

图片结果如图所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。