Matplotlib库入门

Matplotlib库介绍

Matliotlib库是Python优秀的数据可视化第三方库。

Matliotlib库的效果见:http://matplotlib.org/gallery.html

Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。

matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于快捷方式。导入方式如下:

import matplotlib.pyplot as plt

范例:使用Matplotlib库绘图

importmatplotlib.pyplot as plt

plt.plot([3,1,4,5,2])

plt.ylabel("Grade")

plt.savefig('test',dpi=600) #PNG文件

plt.show()

plt.savefig()将输出图形存储为文件,默认PNG格式,可以通过dpi修改输出质量。

importmatplotlib.pyplot as plt

plt.plot([0,2,4,6,8],[3,1,4,5,2])

plt.ylabel("Grade")

plt.axis([-1, 10, 0, 6])

plt.show()

plt.plot(x,y)只有一个输出列表或数组是,参数被当作Y轴,X轴以索引自动生成。当有两个以上参数时,按照X轴和Y轴顺序绘制数据点。plt.axis()指定X轴和Y轴的起始位置。

pyplot的绘图区域

plt.subplot(nrows,ncols,plot_number)

在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域。

范例:分区域绘图

importnumpy as npimportmatplotlib.pyplot as pltdeff(t):return np.exp(-t) * np.cos(2 * np.pi *t)

a= np.arange(0.0, 5.0, 0.02)

plt.subplot(211) #可以将3个参数合并传参

plt.plot(a ,f(a))

plt.subplot(2,1,2)

plt.plot(a, np.cos(2 * np.pi * a),'r--')

plt.show()

pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)

x:X轴数据,列表或数组,可选(绘制多条曲线时,各条曲线的x不能省略)

y:Y轴数据,列表或数组

format_string:控制曲线的格式字符串(由颜色字符、风格字符和标记字符组成),可选

颜色字符

颜色字符说明颜色字符说明

'b'

蓝色

'm'

洋红色 magenta

'g'

绿色

'y'

黄色

'r'

红色

'k'

黑色

'c'

青绿色 cyan

'w'

白色

'#008000'

RGB某颜色(十六进制色彩)

'0.8'

灰度值字符串

风格字符

风格字符说明风格字符说明

'-'

实线

':'

虚线

'--'

破折线

'' ' '

无线条

'-.'

点划线

标记字符

标记字符说明标记字符说明

'.'

点标记

's'

实心方形标记

','

像素标记(极小点)

'p'

实心五角标记

'o'

实心圈标记

'*'

星形标记

'v'

倒三角标记

'h'

竖六边形标记

'^'

上三角标记

'H'

横六边形标记

'>'

右三角标记

'+'

十字标记

'

左三角标记

'x'

x标记

'1'

下花三角标记

'D'

菱形标记

'2'

上花三角标记

'd'

瘦菱形标记

'3'

左花三角标记

'|'

垂直线标记

'4'

右花三角标记

**kwargs:第二组或更多(x, y, format_string)

color:控制颜色,color='green'

linestyle:线条风格,linestyle='dashed'

marker:标记风格,marker='o'

markerfacecolor:标记颜色,markerfacecolor='blue'

marksize,标记尺寸,markerfacecolor=20

范例:将颜色字符、风格字符和标记字符组合使用

importnumpy as npimportmatplotlib.pyplot as plt

a= np.arange(10)

plt.plot(a, a*1.5, a, a*2.5, a, a*3.5, a, a*4.5)

plt.show()

importnumpy as npimportmatplotlib.pyplot as plt

a= np.arange(10)

plt.plot(a, a*1.5,'go-', a, a*2.5,'rx', a, a*3.5,'*', a, a*4.5,'b-.')

plt.show()

pyplot的中文显示

pyplot并不默认支持中文显示,需要rcParams修改字体实现。

importmatplotlib.pyplot as pltimportmatplotlib

matplotlib.rcParams['font.family']='SimHei' #'SimHei'是黑体

plt.plot([3,1,4,5,2])

plt.ylabel("纵轴(值)")

plt.savefig('test',dpi=600)

rcParams的属性

属性说明

'font.family'

用于显示字体的名字

'font.style'

字体风格,正常'normal'或斜体'italic'

'font.size'

字体大小,整数字号或者'large'、'x-small'

rcParams['font.family']

中文字体说明

'SimHei'

中文黑体

'Kaiti'

中文楷体

'LiSu'

中文隶书

'FangSong'

中文仿宋

'YouYuan'

中文幼圆

'STSong'

华文宋体

importnumpy as npimportmatplotlib.pyplot as pltimportmatplotlib

matplotlib.rcParams['font.family']='STsong'matplotlib.rcParams['font.size']=20a= np.arange(0.0, 5.0, 0.02)

plt.xlabel('横轴:时间')

plt.ylabel("纵轴:振幅")

plt.plot(a, np.cos(2*np.pi*a),'r--')

plt.show()

在有中文输出的地方,增加一个属性:fontproperties

importnumpy as npimportmatplotlib.pyplot as plt

a= np.arange(0.0, 5.0, 0.02)

plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=20)

plt.ylabel("纵轴:振幅",fontproperties='SimHei',fontsize=20)

plt.plot(a, np.cos(2*np.pi*a),'r--')

plt.show()

pyplot的文本显示函数

函数说明

plt.xlabel()

对X轴增加文本标签

plt.ylabel()

对Y轴增加文本标签

plt.title()

对图形整体增加文本标签

plt.text()

在任意位置增加文本

plt.annotate()

在图形中增加带箭头的注解

范例:使用上述标签

plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)

importnumpy as npimportmatplotlib.pyplot as plt

a= np.arange(0.0, 5.0, 0.02)

plt.plot(a, np.cos(2*np.pi*a),'r--')

plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='green')

plt.ylabel("纵轴:振幅",fontproperties='SimHei',fontsize=15)

plt.title(r'正弦波实例$y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)

plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))#plt.annotate() 中'$$'表示使用Latex格式,xy为箭头指向位置,xytext为文本显示位置,facecolor为箭头颜色,shrink为箭头缩进比率,width为箭头宽度。

plt.axis([-1, 6, -2, 2])

plt.grid(True)

plt.show()

pyplot的子绘图区域:plt.subplot2grid()

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)

理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始

GridSpec为二元组(m,n),表示将网格分为m行n列

CurSpec为二元组(a,b),表示选择第几个网格,索引从0开始

colspan和rowspan表示合并几个单元格,默认为1(不合并)

plt.subplot2grid((3,3),(1,0),colspan=2)

GridSpec类

importmatplotlibimportmatplotlib.gridspec as gridspec

matplotlib.rcParams['font.size']=6gs= gridspec.GridSpec(3,3)

ax1=plt.subplot(gs[0, :])

ax2= plt.subplot(gs[1, :-1])

ax3= plt.subplot(gs[1:, -1])

ax4= plt.subplot(gs[2, 0])

ax5= plt.subplot(gs[2, 1])

python数据展示库_数据分析与展示——Matplotlib库入门相关推荐

  1. 用python画风景图_数据分析与展示---Matplotlib基本绘图函数

    一:基本绘图函数(这里介绍16个,还有许多其他的) 二:pyplot饼图plt.pie的绘制 三:pyplot直方图plt.hist的绘制 (一)修改第二个参数bins:代表直方图的个数,均分为多段, ...

  2. python数据爬虫课程_数据分析之Python3爬虫视频课程

    第1章 python网络爬虫牛刀小试 1小时38分钟11节 1-1 编写第一个只网络爬虫1.使用requests模拟浏览器访问网址 2.使用美丽汤BeautifulSoup解析网页 3.提取出新闻的标 ...

  3. python导出数据顿号做分隔符_Python语言和matplotlib库做数据可视化分析

    这是我的第51篇原创文章,关于数据可视化分析. 阅读完本文,你可以知道: 1 Python语言的可视化库-matplotlib? 2 使用matplotlib实现常用的可视化? 0前言 数据记者和信息 ...

  4. Python可视化数据分析10、Matplotlib库

    Python可视化数据分析10.Matplotlib库

  5. python数据分析师书籍_做数据分析不得不看的书有哪些?

    小K给大家整理了一份书单,很适合刚接触数据分析的同学哦,快快收藏起来. <深入浅出数据分析> <深入浅出数据分析>写得漂亮,读者可以学到分析现实问题的系统性方法.从卖咖啡到开橡 ...

  6. python生物数据分析师职业技能_数据分析行业各个职业需要的技能是什么?

    就目前而言,很多人看到了数据分析行业的光明前景,于是就想进入数据分析的行业中.但是,想成为一名合格的数据分析师,需要掌握很多的技能.那么一名合格的数据分析师需要掌握哪些技能呢?其实数据分析行业的职业是 ...

  7. 成都python数据分析师职业技能_数据分析师需要什么技能,数据分析行业都有什么职业?...

    就目前而言,很多人看到了数据分析行业的光明前景,于是就想进入数据分析的行业中,但是,想成为一名合格的数据分析师,需要掌握很多的技能,那么一名合格的数据分析师需要掌握哪些技能呢?现在的数据分析行业中有数 ...

  8. python 数据科学书籍_您必须在2020年阅读的数据科学书籍

    python 数据科学书籍 "We're entering a new world in which data may be more important than software.&qu ...

  9. python数据科学手册_小白入门Python数据科学

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

最新文章

  1. 7-17 BCD解密(10 分)
  2. rabbitmq最大连接数(Socket Descriptors)
  3. php退出页面父元素,jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码...
  4. Codeforces 1338 题解
  5. RabbitMQ(一):Hello World程序
  6. Vue源码解析之数组变异
  7. cf1561D Up the Strip(D1D2)
  8. SQL Server 变量名称的Collcation跟Instance还是跟当前DB?
  9. UI素材实用模板|2.5D等距风格插画专辑
  10. NoteBurner Spotify教程:在Mac上将 Spotify 音乐转换为 MP3 格式
  11. RichContentLabel使用注意
  12. 综合能源系统通用建模及规划方法研究—笔记
  13. xmlspy php,XML Spy实例代码详解(图)
  14. 使用outlook邮件服务器,使用OUTLOOK配置邮件服务
  15. Excel 筛选后排序 踩雷笔记
  16. Vue.js 作者尤雨溪:直接学 Vue 3 吧
  17. 斯坦福大学区块链期末考试题
  18. C# 模拟PCM数据并创建WAV文件
  19. emui11升级成鸿蒙os,华为EMUI11正式发布,今年12月可升级为鸿蒙OS2.0国产操作系统...
  20. 《Context Contrasted Feature and Gated Multi-Scale Aggregation for Scene Segmentation》论文阅读

热门文章

  1. 对称加密和非对称加密的区别与使用
  2. 批量修改图片尺寸怎么做?这几种方法轻松批量修改
  3. 基于PHP+HTML+MySQL的《C语言程序设计》在线考试系统
  4. matlab中数值积分函数trapz的使用注意
  5. 扩充Ubuntu虚拟机的磁盘容量
  6. 初识 My Batis一 什么是My Batis,JDBC缺点,My Batis简化,Mapper 代理开发,My Batis 核心配置文件
  7. jquery each循环
  8. 【深度学习系列4】深度学习及并行化实现概述
  9. NotePad++ 不能使用NPP HexEdit
  10. 做产业发展的机会成本思维