点击蓝字
关注我们
天天更新公众号,突然有一种当年金庸先生在《明报》上连载《神雕侠侣》的感觉,哈哈!
话说上节我们谈到plt.plot()可以绘制折线图,但图形不够完善,图形标题、网格线和坐标轴标题什么都没有,实在不好看,那么这些东西怎么加上去呢?
完善折线图
直接上代码:
import matplotlib.pyplot as pltplt.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




