人生苦短,我用 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 的值,但是也可以自定义显示不同的刻度,这里需要使用到的函数为 xticksyticks 两个函数:

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(二)基础操作相关推荐

  1. matplotlib plot 分组_小白学 Python 数据分析(16):Matplotlib(一)坐标系

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  2. 小白学 Python 数据分析(3):Pandas (二)数据结构 Series

    在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...

  3. 跟小白学Python数据分析——绘制仪表盘

    本文继续采用PyEcharts v1.x版本进行绘制仪表盘. 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2 ...

  4. 跟小白学Python数据分析——绘制水球图

    本文继续采用PyEcharts v1.x版本进行绘制水球图. 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2 ...

  5. python中for循环缩进_跟小白学Python数据分析——For循环

    原标题:跟小白学Python数据分析--For循环 循环是指反复地连续做某件事,例如地球绕地轴自转一圈就是一天,自转的同时绕太阳公转一圈就是一年.周而复始,转了一圈又一圈,一次又一次地循环. 在编程过 ...

  6. logback-spring.xml 文件路径 相对路径_小白学 Python(18):基础文件操作

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  7. python 相对路径报错_小白学 Python(18):基础文件操作

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  8. ora-00923数据类型不一致_小白学 Python(2):基础数据类型(上)

    如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,获取最新干货推送:) 人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基 ...

  9. 小白学 Python(2):基础数据类型(上)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...

  10. Python数据分析之Matplotlib的常用操作总结

    特别鸣谢以下更多python教程请到友情连接: 菜鸟教程https://www.piaodoo.com 初中毕业读什么技校 http://cntkd.net 茂名一技http://www.enechn ...

最新文章

  1. SAPABAP性能优化技巧—使用二分查找(Binary Search)选项
  2. java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...
  3. pip安装的库导入pycharm中
  4. 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean
  5. 哪种人是软件设计中的稀缺型人才?
  6. iOS 8.0正式公布啦
  7. JAVA毕设项目图书馆预约占座系统(java+VUE+Mybatis+Maven+Mysql)
  8. tcgames使用有延迟_心得分享:tcgames电脑玩刺激战场怎么用最流畅?
  9. 奇异值分解(SVD)及其扩展详解
  10. 计算机发展的新用途应用,新时期计算机技术的应用及发展趋势
  11. WS小世界网络模型构造算法
  12. LNK1104:无法打开文件 C:\PhoneYou\roshan-0.6.5\lib\roshan\plugins\Goblin\teacher\teacher.dll
  13. java 数字拆分_如何在java中分割数字?
  14. 产品vs程序员:你知道www是怎么来的吗?
  15. 使用supervisor实现进程管理
  16. rcp桌面程序嵌入chrome内核(JxBrowser)
  17. 汇编中OF,PF,AF,ZF,SF,CF各自的意义
  18. 超市进销存系统管理源码超市管理系统源码 (CS架构)
  19. 腾讯安全和安徽征信达成战略合作!
  20. CG100-13五菱单排芯片s9s12ha32-

热门文章

  1. 太阳神朱厚丞:揭秘2018年物联网发展趋势
  2. 《Python编程:从入门到实践》最高温度, 最低温度可视化
  3. linux reedme常用单词,【每天打卡记单词】高中英语必背单词3500(Q/R)
  4. [翻译]Exploiting CVE-2015-0057 ——Part 1
  5. 《Python程序设计基础 》课堂笔记整理
  6. 服务器做虚拟网吧,一种基于游戏的虚拟网吧实现方法
  7. OSChina 周五乱弹 —— 毁人不倦的大师们
  8. 摄影构图学83年绝版_摄影到底是一门技术还是艺术?在摄影创作中,如何提高审美意境?...
  9. 现代计算机专业版官网,现代计算机期刊_投稿邮箱_杂志_编辑部_审稿_投稿须知...
  10. Unity导弹,射击