Matplotlib学习笔记-折线图

Matplotlib学习笔记-折线图

显示中文字体

	在设置中文字体时一个是坐标轴的对应问题,另一个就是中文字体显示的问题。

列表a=[random.randint(25,35) for i in range(120)]表示10点到12点的每一分钟的气温,用折线图表示。

#设置图片大小和分辨率
fig = plt.figure(figsize = (20,10),dpi = 80)
#生成120个在(20,35)之间的随机整数
a = [random.randint(20,35) for i in range(120)]
x = range(120)
plt.plot(x,a)

到这里基本信息已经可以了,但是如果希望将将横坐标标注为几点几分的形式,需要对坐标轴进行设置

#最后一行,如果标注数字或者英文时传入一个参数即可,但如果标注中文,则需要写明刻度和标注的对应关系
_x = list(x)[::5]
xtick_lable =["10点{}分".format(i) for i in range(60)]
xtick_lable +=["11点{}分".format(i) for i in range(60)]
plt.xticks(_x,xtick_lable[::5],rotation = 270,FontProperties = my_font)

最后是中文字体的显示问题

from matplotlib import font_manager
my_font = font_manager.FontProperties(family="SimSun",size = 20,color = "bold")
plt.xticks(_x,xtick_lable[::5],rotation = 270,FontProperties = my_font)
#添加坐标轴标题和图题
plt.xlabel("时间",fontproperties = my_font)
plt.ylabel("气温",fontproperties = my_font)
plt.title("10点到12点气温变化图",fontproperties = my_font)
#图片保存
plt.savefig("./sig_size.png")

结果

添加格网和多条线及图例

fig = plt.figure(figsize = (20,10),dpi = 80)
my_font = font_manager.FontProperties(family="SimSun",size = 16)
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]
x = range(11,31)
#绘制多条线和标签
#linestyle设置线条风格d
#linewidth设置线条粗细
#alpha设置透明度
plt.plot(x,a,label = "自己",color = "orange",linestyle = "--",linewidth = 2)
plt.plot(x,b,label = "同桌",color = "cyan",linewidth = 2)
#轴刻度
_xtick_lables =["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_lables,fontproperties = my_font)
plt.yticks(range(5))
#添加坐标轴标题
plt.xlabel("年龄",fontproperties = my_font)
plt.ylabel("数量",fontproperties = my_font)
#添加网格线alpha设置网格透明度
plt.grid(alpha = 0.4,linestyle = ":")
#添加图例
# prop设置字体
#loc设置位置,看源码
plt.legend(prop = my_font, loc = 1)

#显示图像
plt.show()

在这里插入图片描述

不同统计图之间的差别

来源见图不想打字啦
来源见图

折线图思维导图梳理

在这里插入图片描述

参考连接汇总

http://blog.17baishi.com/4720/

中文文字名称

https://www.jb51.net/article/134546.htm

linestyle

https://blog.csdn.net/aquapisces/article/details/90600525?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_utm_term-2&spm=1001.2101.3001.4242

添加文本注释

https://blog.csdn.net/weixin_38725737/article/details/82664096?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control


版权声明:本文为weixin_44400484原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。