您的位置:首页 > 编程语言 > PHP开发

matplotlib 的基本使用

2018-03-15 16:17 549 查看

1、基本使用

(1)使用import导入模块matplotlib.pyplot,并简写成plt 使用import导入模块numpy,并简写成np
(2)接下来,我们调用plot的.plot方法绘制一些坐标。 这个.plot需要许多参数,但前两个是'x'和'y'坐标,我们放入列表。 这意味着,根据这些列表我们拥有 3 个坐标:1,5 2,7和3,4。
(3)plt.plot在后台『绘制』这个绘图,但绘制了我们想要的一切之后,当我们准备好的时候,我们需要把它带到屏幕上。
(4)%matplotlib tk(%matplotlib qt5) 在GUI中显示,%matplotlib inline 在行内显示,内嵌显示
数据从哪来
横纵坐标的设置
生成什么样的图像
图像的美化
保存该图像
matplotlib官方文档,有众多例子可以参考:https://matplotlib.org/examples/index.htmlimport matplotlib.pyplot as plt #子模块图像画板的相关内容
import matplotlib as mpl #绘图模块
import numpy as np
# 指定当前使用的字体
mpl.rcParams["font.sans-serif"]=['SimHei']
# 关闭当前系统使用的默认字体
mpl.rcParams["axes.unicode_minus"]=False
# %matplotlib qt5
%matplotlib inline
# 图像的画板、区分不同的子块儿、每个子块显示不同的图像
fig=plt.figure(figsize=(8,6))# figure表示画板、figsize画板尺寸大小
# 在当前的画板上添加子图(2,2,1),表示生成2行2列的子图的第一个:从左之右、从上至下。
ax1=fig.add_subplot(2,2,1)
# 对当前子图ax1绘制图形
plt.plot(np.arange(5).cumsum(),'b--')
# 在当前的画板上添加子图(2,2,2),表示生成2行2列的子图的第2个:从左之右、从上至下。
ax2=fig.add_subplot(2,2,2)
# 在当前的画板上添加子图(2,2,3),表示生成2行2列的子图的第3个:从左之右、从上至下。
ax3=fig.add_subplot(2,2,3)
# 在当前的画板上添加子图(2,2,4),表示生成2行2列的子图的第4个:从左之右、从上至下。
ax4=fig.add_subplot(2,2,4)
# 对子图ax2绘制柱状图
ax2.bar(np.arange(30),np.random.random(30),color='r',alpha=0.5)
# 对子图ax3绘制散点图
ax3.scatter(np.arange(30),np.random.random(30))
# 对子图ax4绘制散点图
ax4.scatter(np.arange(30),np.random.random(30)+3)
plt.show()

2、图像的美化

import matplotlib.pyplot as plt  #子模块图像画板的相关内容
import matplotlib as mpl #绘图模块
import numpy as np
# 指定当前使用的字体
mpl.rcParams["font.sans-serif"]=['SimHei']
# 关闭当前系统使用的默认字体
mpl.rcParams["axes.unicode_minus"]=False
# %matplotlib qt5
%matplotlib inline
# 图像的画板、区分不同的子块儿、每个子块显示不同的图像
fig=plt.figure(figsize=(8,6))# figure表示画板、figsize画板尺寸大小
# 在当前的画板上添加子图(2,2,1),表示生成2行2列的子图的第一个:从左之右、从上至下。
ax1=fig.add_subplot(2,2,1)
x=np.linspace(0,10,1000)
y=np.sin(x)
z=np.cos(x**2)
# label标签、color颜色、linewidth线宽
plt.plot(x,y,label='$sin(x)$',color='k',linewidth='5')
plt.plot(x,z,'r--',label='$sin(x^2)$')
# X轴的名字
plt.xlabel("time")
# Y轴的名字
plt.ylabel("heart")
# 图像标题
plt.title("心电图")
# Y轴的显示范围
plt.ylim(-1.5,1.5)
# X轴的显示范围
plt.xlim(0,6)
# 设置x轴的刻度
plt.xticks(range(10))
# 设置y轴的刻
plt.yticks(range(-1,2,1))
# 设置显示label,loc:0-4,右上角1,左上角2,左下角3、右下角4、0任意位置,ncol:label的长度
plt.legend(loc=2,ncol=1)
# 格子
plt.grid(True)
# 先保存图像后show,否则保存空白图
plt.savefig("心电图")
plt.show()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: