python学习之图表坐标系中文显示

阅读: 评论:0

python学习之图表坐标系中文显示

python学习之图表坐标系中文显示

pythonMatplotlib 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

在程序开始的地方导入库

一、基础绘图

from matplotlib import pyplot as plt

利用plt.plot(x,y)即可绘图,

plt.savefig("存储位置fig.png")  #将图保存到目录中

plt.show()   #在plot窗口中显示图表

但是,我们不满足于简单的表格,希望可以定义表格横纵坐标轴刻度,图表题目等,在编辑过程中,我们发现不能正常生成中文刻度,显示为一个小方块,那么应该如何解决呢?

1、首先导入matplotlib中的字体的库

from matplotlib import font_manager

2、定义一个my_font

my_font = font_manager.FontProperties(fname=(r'C:Windowsf'))

注意此处的路径是你电脑中的字体位置,可能与我这个路径相同,大差不差就是这个位置

3、在设置x轴刻度的函数中加上该参数,黄色部分

就成功了

下一个问题,添加横纵坐标轴描述信息

plt.xlabel("时间")   #横坐标描述信息
plt.ylabel("温度 单位(摄氏度)")  #纵坐标描述信息
plt.title("10点到12点每分钟气温变化情况")    #图表题目

 二、应用实例

# -*- coding: utf-8 -*-
"""
Created on Wed Nov  2 19:13:46 2022@author: 82089
"""
"""
一个小练习
假设在30岁统计11岁-30岁谈的女朋友数量 
如列表a,绘制折线图,分析走势
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
要求:y轴表示个数,x轴表示岁数
"""#导入绘图库
from matplotlib import pyplot as plt
from matplotlib import font_manager#定义x,y的数值,这里注意x与y的数量必须一致
x = list(range(11,31)) 
y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]#设置中文字体
my_font = font_manager.FontProperties(fname=(r'C:Windowsf'))#添加x,y轴,标题等信息
x_label = ["{}岁".format(i) for i in x]
icks(x[::2],x_label[::2],FontProperties=my_font) 
plt.xlabel("年龄")
plt.ylabel("个数")
plt.title("11岁到30岁女朋友数量变化图")#绘图
plt.plot(x, y)
#保存至当前目录
plt.savefig("./ti1.png")#添加网格
id()
#显示
plt.show() 

运行结果

​​​​​​​

 三、升级版应用实例

# -*- coding: utf-8 -*-
"""
Created on Wed Nov  2 19:45:31 2022@author: 82089
"""
"""
增强小练习
假设在30岁统计11岁-30岁你和你同桌两个人谈的女朋友数量 
如列表a,绘制折线图,分析走势
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
b = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
要求:y1轴表示你的数据,y2表示你同桌的数据,x轴表示岁数
"""#导入绘图库
from matplotlib import pyplot as plt
from matplotlib import font_manager#定义x,y1,y2的数值,这里注意x与y的数量必须一致
x = list(range(11,31)) 
y1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
#设置中文字体
my_font = font_manager.FontProperties(fname=(r'C:Windowsf'))#添加x,y1轴,标题等信息
x_label = ["{}岁".format(i) for i in x]
icks(x[::2],x_label[::2],FontProperties=my_font) 
plt.xlabel("年龄")
plt.ylabel("个数")
plt.title("11岁到30岁女朋友数量变化图")#绘图
plt.plot(x, y1, label='自己', color = 'pink', linestyle = '-.')
plt.plot(x, y2, label='同桌', color = 'cyan', linestyle = ':')#保存至当前目录
#plt.savefig("./ti1.png")#添加网格
id(alpha=0.4, linestyle=':')  #透明度 #添加图例  loc位置
plt.legend()
#显示
plt.show() 

 

 OK

本文发布于:2024-02-02 23:02:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688613747030.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:坐标系   图表   中文   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23