美文网首页
Matplotlib入门

Matplotlib入门

作者: 学习编程好少年 | 来源:发表于2017-07-29 15:07 被阅读0次

Matplotlib的使用

Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。

import matplotlib.pyplot as plt

pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)
  • x : X轴数据,列表或数组,可选。plt.plot()只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成。
  • y : Y轴数据,列表或数组
  • format_string: 控制曲线的格式字符串,可选
    由颜色字符、风格字符和标记字符组成,颜色字符、风格字符和标记字符可以组合使用。
颜色字符 说明 颜色字符 说明
'b' 蓝色 'm' 洋红色 magenta
'g' 绿色 'y' 黄色
'r' 红色 'k' 黑色
'c' 青绿色 cyan 'w' 白色
'#008000' RGB某颜色 '0.8' 灰度值字符串
风格字符 说明
'-' 实线
'--' 破折线
'-.' 点划线
':' 虚线
'' ' ' 无线条
标记字符 说明 标记字符 说明 标记字符 说明
'.' 点标记 '1' 下花三角标记 'h' 竖六边形标记
',' 像素标记(极小点) '2' 上花三角标记 'H' 横六边形标记
'o' 实心圈标记 '3' 左花三角标记 '+' 十字标记
'v' 倒三角标记 '4' 右花三角标记 'x' x标记
'^' 上三角标记 's' 实心方形标记 'D' 菱形标记
'>' 右三角标记 'p' 实心五角标记 'd' 瘦菱形标记
'<' 左三角标记 '*' 星形标记 '|' 垂直线标记

color : 控制颜色, color='green'
linestyle : 线条风格, linestyle='dashed'
marker : 标记风格, marker='o'
markerfacecolor: 标记颜色, markerfacecolor='blue'
markersize : 标记尺寸, markersize=20
...

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

当绘制多条曲线时,各条曲线的x不能省略

pyplot的绘图区域

简单的绘图区域

plt.subplot(nrows, ncols, plot_number)

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

复杂的绘图区域

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

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

plt.subplot2grid((3, 3), (1, 0), colspan=2) #ax2
  1. GridSpec类

实例:

import matplotlib.gridspec as gridspec

gs = 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])

pyplot的中文显示

第一种方法

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

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei'

rcParams的属性:

属性 说明
'font.family' 用于显示字体的名字
'font.style' 字体风格,正常'normal'或斜体'italic'
'font.size' 字体大小,整数字号或者'large'、'x‐small'

中文字体的种类:
rcParams['font.family']

中文字体 说明
'SimHei' 中文黑体
'Kaiti' 中文楷体
'LiSu' 中文隶书
'FangSong' 中文仿宋
'YouYuan' 中文幼圆
'STSong' 华文宋体

第二种方法

推荐第二种方法。
在有中文输出的地方,增加一个属性:fontproperties.

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

pyplot的文本显示

函数 说明
plt.xlabel() 对X轴增加文本标签
plt.ylabel() 对Y轴增加文本标签
plt.title() 对图形整体增加文本标签
plt.text() 在任意位置增加文本
plt.annotate() 在图形中增加带箭头的注解
import numpy as np
import matplotlib.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.text(2, 1, r'$\mu=100$', fontsize=15)

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

plt.axis()函数给出了形如[xmin,xmax,ymin,ymax]的列表,指定了坐标轴的范围。
plt.grid()控制网格显示。

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

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

Reference:
中国大学MOOC北京理工大学Python数据分析与展示课程嵩天老师课件
课程主页

相关文章

  • Matplotlib 入门教程

    Matplotlib 入门教程 来源:Introduction to Matplotlib and basic l...

  • Python

    Matplotlib 入门教程

  • 子图制作

    matplotlib 入门学习1.子图绘制 直接上code import matplotlib.pyplot as...

  • Python-Seaborn

    【参考网址】 (1)%matplotlib作用 (2)入门系列(一)——kdeplot和distplot 入门系...

  • Python-Matplotlib库

    本文转载来源:Python绘图库Matplotlib入门教程本文同时使用了这里的教学代码:Matplotlib 画...

  • 绘图与可视化——Matplotlib

    Matplotlib 入门知识 matplotlib在Python中应用最多的2D图像的绘图工具包,使用matpl...

  • Matplotlib使用指南,100个案例从入门到进阶!(附源代

    大家好,今天来跟大家分享下 Matplotlib 从入门到进阶的精彩内容。 Matplotlib 是 Python...

  • Matplotlib入门

    标题中的英文首字母大写比较规范,但在python实际使用中均为小写。2018年7月30日笔记作者的集成开发环境是j...

  • Matplotlib入门

    Matplotlib是Python中用的最多的2D图形绘图库,学好Matplotlib的用法可以帮助我们在统计分析...

  • Matplotlib入门

    via: 保罗的酒吧 https://paul.pub/matplotlib-basics/ 入门代码示例 一次绘...

网友评论

      本文标题:Matplotlib入门

      本文链接:https://www.haomeiwen.com/subject/lmbqlxtx.html