暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python数据可视化--matplotlib绘制折线图(1)

AI小白笔记 2021-11-02
806

点击蓝字

关注我们


天天更新公众号,突然有一种当年金庸先生在《明报》上连载《神雕侠侣》的感觉,哈哈!


话说上节我们谈到plt.plot()可以绘制折线图,但图形不够完善,图形标题、网格线和坐标轴标题什么都没有,实在不好看,那么这些东西怎么加上去呢?


完善折线图


直接上代码:

import matplotlib.pyplot as plt 
plt.rcParams['font.family']=['SimHei'] #显示中文


month=['Jan','Feb','Mar','Apr','May','Jun']
pay=[100,90,105,110,85,120]


plt.plot(month,pay)
plt.title('上半年手机话费支出走势图') #图形标题
plt.grid(ls='--') #网格线
plt.xlabel('月份') #X轴标题
plt.ylabel('金额') #Y轴标题
plt.ylim([80,140]) #Y轴范围
plt.xlim(['Jan','Jun']) #X轴范围
plt.show()


这段代码看起来比上节多了几行,我们一一来分析:


设置中文字体库


第2行代码的作用是让图形里的中文能正确地显示出来,如果没有这一行,图形里的中文会显示乱码,'SimHei'是简体的黑体字,‘font.family’ 是pyplot动态参数的字体库,这句话意思就是将黑体字加入字体库,使之可以正确地显示中文。


字体库除了SimHei之外,常用的还有:


中文名

英文名

宋体

SimSun

楷体

KaiTi

微软雅黑

Microsoft YaHei

隶书

LiSu

仿宋

FangSong

幼圆

YouYuan

华文宋体

STSong

华文黑体

STHeiti


设置网格线


第9行代码设置网格线,ls属性的是linestyle,即线的风格,ls属性值主要有以下几种:

  • -- 虚线(两个减号)

  • 实线(一个减号)

  • -. 线点相间的直线(一个减号连接一个点)

  • 点组成的直线(英文冒号)


grid()函数除了linestyle这个属性,常用的属性还有:

  • color:设置颜色,也可以用c表示,颜色的赋值直接写颜色的英文名即可;

  • axis:设置线的方向,默认值是both,横向与竖向的网格线都有,axis='X'表示只有垂直于X轴的网格线,axis='y'表示只有垂直于Y轴的网格线;

  • linewidth:设置线的宽度,值越大越粗;

  • alpha:设置透明度,值在0~1之间,1是完全不透明,0是完全透明,0.5是半透明。


比如其它代码不变,将第9行代码设置为:

plt.grid(ls=':',axis='y',linewidth=2,color='red',alpha=0.3)



设置坐标轴的范围


第12-13行设置两个坐标轴的范围,注意一下函数本身是自带一对小括号的,小括号里面又有一对方括号,方括号内的两个值表示范围的最小值与最大值。lim这个词,凡是学过高等数学的同学应该不会陌生,就是极限的意思,它是英文单词limit的前三个字母,前面加x就是X轴的范围,加y就是Y轴的范围。


其实说了这么多,还没谈到重点,那就是plt.plot()显示折线图的时候,括号里面就两个参数吗?还有没有其它的参数?答案是这个函数的参数内含乾坤可大啦,且听下节分解吧!


THE END

文章转载自AI小白笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论