小白学 Python 数据分析(17):Matplotlib(二)基础操作
人生苦短,我用 Python
前文传送门:
小白学 Python 数据分析(1):数据分析基础
小白学 Python 数据分析(2):Pandas (一)概述
小白学 Python 数据分析(3):Pandas (二)数据结构 Series
小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame
小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
小白学 Python 数据分析(7):Pandas (六)数据导入
小白学 Python 数据分析(8):Pandas (七)数据预处理
小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
小白学 Python 数据分析(10):Pandas (九)数据运算
小白学 Python 数据分析(11):Pandas (十)数据分组
小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
小白学 Python 数据分析(13):Pandas (十二)数据表拼接
小白学 Python 数据分析(14):Pandas (十三)数据导出
小白学 Python 数据分析(15):数据可视化概述
小白学 Python 数据分析(16):Matplotlib(一)坐标系
坐标轴标题设置
各位同学好,我又来了,本文给大家带来的是有关 Matplotlib 的一些基础操作。
在前一篇文章中,我们介绍了如何使用 Matplotlib 绘制坐标系,本文我们接着介绍 Matplotlib 。
先看一个简单的示例:
import matplotlib.pyplot as pltx_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.xlabel('年份')
plt.ylabel('销量')plt.plot(x_data, y_data)plt.show()
结果如下:
好像哪里不太对的样子,横轴和数轴的标题没有显示出来,看一下程序运行,没有报错,但是报出来一个警告:
RuntimeWarning: Glyph 24180 missing from current font.
这个警告的含义是 plt 画图是找不到字体,那么这里我们手动设置一下字体:
plt.rcParams['font.sans-serif']=['SimHei']
完整的样例代码如下:
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.xlabel('年份')
plt.ylabel('销量')plt.plot(x_data, y_data)plt.show()
结果如下:
这下显示正常了。
我们还可以通过参数 labelpad
设置标题到坐标轴的距离,这里为了演示效果设置的距离稍微大了点:
plt.xlabel('年份', labelpad=50)
plt.ylabel('销量', labelpad=50)
结果如下:
我们还可以通过参数对文本的相关属性进行设置,下面看下一些常用的设置参数:
plt.xlabel('年份', labelpad=50, fontsize='xx-large', fontweight='bold', rotation='vertical', backgroundcolor='red')
plt.ylabel('销量', labelpad=50)
先看结果:
xlabel 中常用的一些参数:
- fontsize : 设置字体大小,默认12,可选参数 [‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’,‘x-large’, ‘xx-large’]
- fontweight : 设置字体粗细,可选参数 [‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’]
- fontstyle : 设置字体类型,可选参数[ ‘normal’ | ‘italic’ | ‘oblique’ ],italic斜体,oblique倾斜
- verticalalignment : 设置水平对齐方式 ,可选参数 : ‘center’ , ‘top’ , ‘bottom’ ,‘baseline’
- horizontalalignment : 设置垂直对齐方式,可选参数:left,right,center
- rotation : (旋转角度)可选参数为:vertical,horizontal 也可以为数字
- alpha : 透明度,参数值0至1之间
- backgroundcolor : 标题背景颜色
- bbox : 给标题增加外框 ,常用参数如下:
- boxstyle 方框外形
- facecolor (简写fc)背景颜色
- edgecolor (简写ec)边框线条颜色
- edgewidth 边框线条大小
刻度设置
默认坐标轴是显示 x y 的值,但是也可以自定义显示不同的刻度,这里需要使用到的函数为 xticks
和 yticks
两个函数:
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.xticks(x_data, ['2011年','2012年','2013年','2014年','2015年','2016年','2017年'])
plt.yticks(y_data)plt.plot(x_data, y_data)plt.show()
结果如下:
有些时候,由于数据脱敏的需要,我们不要显示刻度,还可以这么写:
plt.xticks(x_data, [])
plt.yticks(y_data, [])
这样展现出来的图形如下:
实际上,我们还有更狠的操作,直接关闭坐标轴:
plt.axis("off")
结果如下:
范围设置
我们还可以对坐标轴的范围进行设置,如下:
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.xlim(2011, 2020)
plt.ylim(50000, 90000)plt.plot(x_data, y_data)plt.show()
结果如下:
这里设置在 Y 轴上最大值为 90000 ,那么 2016 和 2017 对应的数据将会无法显示,实际我们从得出的结果图上也能看出这一点。
网格线设置
网格线默认是关闭的,我们可以通过函数 grid
修改参数 b
来开启网格线,如下:
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.plot(x_data, y_data)plt.grid(b=True)plt.show()
结果如下:
我们不仅可开启网格线,还可以通过参数 axis
来控制是开启哪个轴的网格线:
# 开启 x 轴网格线
plt.grid(b=True, axis='x')
# 开启 y 轴网格线
plt.grid(b=True, axis='y')
图例设置
图例能对图表起到注释的作用,我们可以通过参数 label
对该图表的图例进行设置,示例如下:
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]plt.plot(x_data, y_data, label = '折线图')
plt.bar(x_data, y_data, label = '柱状图')plt.legend()plt.show()
结果如下:
图表标题设置
图表标题是用来概括整张图表现的内容的,我们可以通过如下方式设置一张图的标题:
plt.title(label='xxx 公司 xxx 产品销量')
结果如下:
本文的内容就到这里了,下一篇我们介绍 Matplotlib 的常用图表的示例,本文的示例代码写的有点乱,就不贴出来了,当然,如果经常看小编写的文章的估计都找得到。
参考
https://blog.csdn.net/The_Time_Runner/article/details/89927708
您的扫码关注,是对小编坚持原创的最大鼓励:)
小白学 Python 数据分析(17):Matplotlib(二)基础操作相关推荐
- matplotlib plot 分组_小白学 Python 数据分析(16):Matplotlib(一)坐标系
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(3):Pandas (二)数据结构 Series
在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...
- 跟小白学Python数据分析——绘制仪表盘
本文继续采用PyEcharts v1.x版本进行绘制仪表盘. 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2 ...
- 跟小白学Python数据分析——绘制水球图
本文继续采用PyEcharts v1.x版本进行绘制水球图. 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2 ...
- python中for循环缩进_跟小白学Python数据分析——For循环
原标题:跟小白学Python数据分析--For循环 循环是指反复地连续做某件事,例如地球绕地轴自转一圈就是一天,自转的同时绕太阳公转一圈就是一年.周而复始,转了一圈又一圈,一次又一次地循环. 在编程过 ...
- logback-spring.xml 文件路径 相对路径_小白学 Python(18):基础文件操作
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- python 相对路径报错_小白学 Python(18):基础文件操作
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- ora-00923数据类型不一致_小白学 Python(2):基础数据类型(上)
如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,获取最新干货推送:) 人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- Python数据分析之Matplotlib的常用操作总结
特别鸣谢以下更多python教程请到友情连接: 菜鸟教程https://www.piaodoo.com 初中毕业读什么技校 http://cntkd.net 茂名一技http://www.enechn ...
最新文章
- SAPABAP性能优化技巧—使用二分查找(Binary Search)选项
- java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...
- pip安装的库导入pycharm中
- 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean
- 哪种人是软件设计中的稀缺型人才?
- iOS 8.0正式公布啦
- JAVA毕设项目图书馆预约占座系统(java+VUE+Mybatis+Maven+Mysql)
- tcgames使用有延迟_心得分享:tcgames电脑玩刺激战场怎么用最流畅?
- 奇异值分解(SVD)及其扩展详解
- 计算机发展的新用途应用,新时期计算机技术的应用及发展趋势
- WS小世界网络模型构造算法
- LNK1104:无法打开文件 C:\PhoneYou\roshan-0.6.5\lib\roshan\plugins\Goblin\teacher\teacher.dll
- java 数字拆分_如何在java中分割数字?
- 产品vs程序员:你知道www是怎么来的吗?
- 使用supervisor实现进程管理
- rcp桌面程序嵌入chrome内核(JxBrowser)
- 汇编中OF,PF,AF,ZF,SF,CF各自的意义
- 超市进销存系统管理源码超市管理系统源码 (CS架构)
- 腾讯安全和安徽征信达成战略合作!
- CG100-13五菱单排芯片s9s12ha32-
热门文章
- 太阳神朱厚丞:揭秘2018年物联网发展趋势
- 《Python编程:从入门到实践》最高温度, 最低温度可视化
- linux reedme常用单词,【每天打卡记单词】高中英语必背单词3500(Q/R)
- [翻译]Exploiting CVE-2015-0057 ——Part 1
- 《Python程序设计基础 》课堂笔记整理
- 服务器做虚拟网吧,一种基于游戏的虚拟网吧实现方法
- OSChina 周五乱弹 —— 毁人不倦的大师们
- 摄影构图学83年绝版_摄影到底是一门技术还是艺术?在摄影创作中,如何提高审美意境?...
- 现代计算机专业版官网,现代计算机期刊_投稿邮箱_杂志_编辑部_审稿_投稿须知...
- Unity导弹,射击