设为首页 加入收藏

TOP

Python 绘图库 Matplotlib 入门代码实例(一)
2019-03-27 22:08:14 】 浏览:176
Tags:Python 图库 Matplotlib 入门 代码 实例

使用Matplotlib,能够轻易生成各种图像,例如:直方图、波谱图、条形图、散点图等。


入门代码实例


import matplotlib.pyplot as plt
import numpy as np


# 用np.linspace生成50个元素的数组,均匀的分布在(0,2*pi)区间上面
x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
# 把x;y函数画出来,用黄色的*-线
plt.plot(x, y, "y*-",label="y=sin(x)")
# 把x,y*2函数画出来,用品红的--线
plt.plot(x, y * 2, "m--", label="y=2sin(x)")


plt.legend()
# plt.legend(loc="best")


plt.title("sin(x) & 2sin(x)")  # 设置标题


plt.xlim(0, 6)  # 设置x坐标轴的范围
plt.ylim(-3, 3)    # 设置y坐标轴的范围
# 通过xticks或yticks来设置轴的刻度。
plt.xticks((0, np.pi * 0.5, np.pi, np.pi * 1.5, np.pi * 2))


plt.xlabel("x")    # 设置x轴的名称
plt.ylabel("y")    # 设置y轴的名称


# 展现
plt.show()


代码解析:


1、通过np.linspace生成50个元素均匀的分布在[0,2pi]区间的数组,


2、plt.plot(x,y,"线的样式",label="标记")  # 前两个参数时x,y的取值,第三个参数是线的样式,第四个参数是右上角的标记,和plt.legend()配套使用


3、plt.title("****)设置标题


4、plt.xlim()或plt.ylim()设置x坐标轴或者y坐标轴的范围


5、# 通过xticks或yticks来设置轴的刻度。


6、plt.xlabel("x")设置x轴的名称


常见的颜色:


蓝色:b  青色:c  红色:r  黑色:k


绿色:g  品红:r  黄色:y  白色:w


常见的点:


点:.  方形:s  圆:o  像素:,  三角形:^


常见的线:


直线:-  虚线: - -  点线::  点划线:-.  星号:*


运行结果如下:


Python 绘图库 Matplotlib 入门代码实例


添加注释


先上代码;


import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
plt.plot(x, y)


x0 = np.pi
y0 = 0


# 画出标注点
plt.scatter(x0, y0, s=50)
# 右边的
plt.annotate('sin(np.pi)=%s' % y0, xy=(np.pi, 0), xycoords='data', xytext=(+30, -30),
            textcoords='offset points', fontsize=16,
            arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"))
# 左边的
plt.text(0.5, -0.25, "sin(np.pi) = 0", fontdict={'size': 16, 'color': 'r'})


plt.show()


Python 绘图库 Matplotlib 入门代码实例


有时候我们需要对特定的点进行标注,我们可以使用 plt.annotate 函数来实现。


这里我们要标注的点是 (x0, y0) = (π, 0)。


我们也可以使用 plt.text 函数来添加注释。


对于 annotate 函数的参数,做一个简单解释:


一次性绘制多个图形


当需要两组数据进行对比,或者一组数据的不同展示方式,我们就可以在一个窗口中绘制多个图形。


多个图形窗口——figure


一个figure就是一个图形窗口,matplotlib.pyplot会有一个默认的figure,


import matplotlib.pyplot as plt
import numpy as np


data = np.arange(100, 201)  # 生成一组100到200,步长为1的数组
# 在第一个默认窗口画
plt.plot(data)  # 绘制data


data2 = np.arange(200,301)
plt.figure(figsize=(6, 3))    # 生成一个图形窗口,设置窗口的大小为(6,3)
# 在第二个窗口画
plt.plot(data2) # 绘制data2


plt.show()  # 展现


代码解析:


1、matplotlib在绘制图形的时候都在一个默认的figure中。我们可以通过plt.figure()再创建一个窗口


2、plt.figure()有figsize参数,以数组形式控制窗口的大小


运行结果如下:


Python 绘图库 Matplotlib 入门代码实例


多个子图——subplot


  有时候我们需要将多张子图展示在一起,可以使用 plt.subplot()实现。即在调用plot()函数之前需要先调用 subplot()函数。该函数的第一个参数代表子图的总行数,第二个参数代表子图的总列数,第三个参数代表活跃区域。下面绑定了实例,也可以不绑定。


import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)


ax1 = plt.subplot(2, 2, 1) # (行,列,活跃区)
plt.plot(x, np.sin(x), 'r')


ax2 = plt.subplot(2, 2, 2, sharey=ax1) # 与 ax1 共享y轴
plt.plot(x, 2 * np.sin(x), 'g')


ax3 = plt.subplot(2, 1, 2)  # 将窗口分为两行1列,这个图形占第二列
plt.plot(x, np.cos(x), 'b')


plt.show()


代码解析:


1、subplot(2,2,x)表示将图像窗口分为2行2列。x表示当前子图所在的活跃区域。



2、subplot(2,1,2)将窗口分为两行一列,这个图形画在第二列



3、plt.subplot(2,2,2,sharey=ax1)    # 是与ax1函数共享受一个y轴。


运行结果如下:


Python 绘图库 Matplotlib 入门代码实例


注意;subplot函数的参数不仅仅支持上面的这种形式,还可以将三个整数(10之内的)合并一个整数。例如:plt.subplot(2,2,1)可以写成plt.subplot(221),结果是一样的。


常用的图形实例


Matplotlib可以生成非常多的图形,常用的有:线形图、散点图、饼状图、条形图、直方图。我们来依次了解一下。


线形图——plot


先上代码


import matplotlib.pyplot as plt


plt.plot([1,2,3],[3,6,9], "-r")
plt.plot([1,2,3],[2,4,9], ":g")


plt.sh

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java的多态浅谈 下一篇Java的自定义注解使用实例

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目