Matplotlib学习笔记(二)
前言:
Python初学者,希望各位大佬看了文章后能指出错误或者给些建议!
如有雷同,纯属巧合!
= =!
环境
linux
python3
Matplotlib条形图
简单条形图
使用bar()方法可以很简单的绘制条形图!
这个方法需要传入的参数有left、height!就像折现图与散点图的x坐标和y坐标!
matplotlib会以left作为条形的中点,height作为条形的高来绘制条形,left与height都可以传入多个值,使用列表或者元组来传入,在传参可以直接bar((1, 2, 3), (1, 2, 3))!
设置width参数可以控制条形图案的宽度,当然也可以设置color参数来设置条形图案的颜色!
也可以传入label参数来为条形图添加图例,别忘了使用legend()方法来显示图例就行了!
Matplotlib添加文字说明
使用text()方法即可添加文字说明,传入参数x坐标与y坐标还有文字说明即可,matplotlib会在坐标点上添加文字说明,text不能传入多个x坐标和y坐标!
测试
添加中文文字说明
发现text方法没有fontpropreties参数与prop参数! = =
百度一下= =竟然百度不到!
决定从根本解决这个问题!将matplotlib配置成支持中文!
啦啦啦
linux下查找linux系统中的中文字体文件 xxx.ttf
fc-list :lang=zh
找到后(这里我找到的文件是DroidSansFallbackFull.ttf文件)!
将其复制到matplot的ttf文件夹下!
然后打开matplotlib的配置文件!matplotlibrc
将配置文件中的font.family和font.sans-serif配置项前的#去掉!
并在font.sans-serif配置项冒号后面添加字体文件的名称!保存即可完成配置!
接下来就是见证奇迹的时刻了!
当然要先重启ipython3啦!
我他妈又发现一个问题我的坐标轴乱码了= =
好吧应该是我的字体ttf文件只有中文= =,去windows复制一个!
最后解决办法
百度下载了一个Droid Sans Fallback.ttf字体文件,这个字体文件中英文数据都有!
修改matplotlibrc配置文件!
将字体文件名加到font.sans-serif配置项冒号后面即可!
测试
Matplotlib添加文本注释
使用annotate()方法可以添加文本注释!
传入的参数有注释文本、被注释的坐标(xy)、注释文本坐标(xytext)、注释箭头属性(arrowprops)!
注:箭头属性参数值是一个字典!
注释箭头属性参数值中的facecolor键是用来设置注释箭头颜色的,还有一个shrink键用来设置箭头收缩!
测试
添加一个文本注释,注释文本为"这是一个中文注释",设置注释箭头颜色为蓝色,设置注释箭头收缩值为0.1!
Matplotlib设置轴记号
设置轴记号就是设置x坐标轴和y坐标轴上显示的值!
使用xticks()和yticks()方法就可以很简单的设置x坐标轴与y坐标轴上的轴记号!
这两个方法需要传入两个参数!一个是原来坐标轴上的坐标值, 一个是自定义的坐标值!
可以传入多个值,利用元组或者列表来传入!
很直观的看到原来的坐标轴上的数字变成了自定义的值!