matplotlib基础
Matplotlib 基础
注:本文中的程序都默认引入了numpy库和matplotlib库,并且分别简写为np与plt;如果读者不知道怎么使用numpy库,可以移步到这一博客上进行简单的学习
一、简单绘图案例
#简单的画图例子
x=np.linspace(0,1,num=200)#横坐标
y1=x**2#纵坐标1
y2=x*3+0.2#纵坐标2
#图片框1
plt.figure(1)
plt.plot(x,y1, label='line1')#绘制曲线
plt.plot(x,y2, linewidth=5, color='coral', linestyle='--', label='line2')#绘制不同风格的曲线
plt.legend()
#图片框2
plt.figure(2)
plt.plot(x,y2)
plt.show()#显示
显示结果:

二、设置坐标轴
#坐标轴设置
x=np.linspace(0,1,num=200)
y1=x**2
#图片框1
plt.figure(1)
plt.plot(x,y1)#绘制曲线
#坐标轴设置
plt.xlim((0,1))#x轴取值范围
plt.ylim((0,1))#y轴取值范围
plt.xlabel('x')#x轴轴标
plt.ylabel('y')#y轴轴标
#x轴ticks设置
new_ticks=np.linspace(0,1,5)
plt.xticks(new_ticks)
#设置绘图坐标轴的位置
axis=plt.gca()#获取当前的坐标轴
axis.spines['left'].set_position(('data', 0.1))#将y轴设置到x轴上为1的位置
axis.spines['bottom'].set_position(('data', 0.5))#将x轴设置到y轴上为1的位置
plt.show()
输出结果:

三、图片标注
#图片标注
x=np.linspace(0,1,num=200)
y1=x**2
plt.figure(1)
plt.plot(x,y1,label='line 1')#绘制曲线,label设置为1
plt.legend()
#设置绘图坐标轴的位置
axis=plt.gca()#获取当前的坐标轴
axis.spines['left'].set_position(('data', 0))#将y轴设置到x轴上为0的位置
axis.spines['bottom'].set_position(('data', 0))#将x轴设置到y轴上为0的位置
#被标注点
x0=0.5
y0=0.5**2
plt.scatter(x0, y0, s=30, color='red')#通过散点图来绘制点
plt.plot([x0,x0],[y0,0], color='black', linestyle='--',linewidth=3)#绘制一条垂直于x轴的虚线
#添加标注
plt.annotate('annotation', [x0+0.1,y0], fontsize=10)#在坐标[x0+0.1,y0]处添加标注
plt.show()
输出结果:

四、设置坐标轴游标字体大小
#操作坐标轴的label
x=np.linspace(0,2,num=200)
y1=x**2
#图片框1
plt.figure(1)
plt.plot(x,y1)#绘制曲线
#坐标轴设置
plt.xlim((0,2))#x轴取值范围
plt.ylim((0,2))#y轴取值范围
ax=plt.gca()#拿到现在的坐标轴
for label in ax.get_xticklabels() +ax.get_yticklabels():
label.set_fontsize(12)#设置坐标轴label的字体大小
plt.show()
输出结果:

五、绘制散点图
# scatter 散点图
x=np.random.normal(0,1,100)
y=np.random.normal(0,1,100)
plt.scatter(x,y, s=50, c='blue',marker='o',alpha=0.6)
plt.show()

六、柱状图
x=np.arange(0,10, step=1)
y=np.arange(0,10, step=1)
plt.bar(x,y, color='red', width=0.3)
#在每一个柱形图上面添加文字标注
for x0,y0 in zip(x,y):
plt.text(x0,y0, '%i'%y0)
plt.show()
输出为:

七、等高线图
#等高线图
x=np.linspace(0,10, 100)
y=np.linspace(0,10, 100)
x_m,y_m=np.meshgrid(x,y)#网格化
z=x_m**2+y_m**2
plt.contourf(x_m, y_m, z, 10, alpha=0.5, cmap=plt.cm.hot)#绘制热图,10代表着高度的分级
c=plt.contour(x_m,y_m, z, 10, colors='black', linewidth=11)#绘制等高线
plt.clabel(c, inline=True, fontsize=10)#为等高线添加标注
plt.show()

八、3D绘图
#3D绘图
from mpl_toolkits.mplot3d import Axes3D
x=np.linspace(0,10, 100)
y=np.linspace(-10,10, 100)
x_m,y_m=np.meshgrid(x,y)#网格化
z=x_m**2+y_m**2
fig=plt.figure()
ax=Axes3D(fig)#为figure添加3D坐标轴
ax.plot_surface(x_m, y_m, z,rstride=5, cstride=5, cmap=plt.cm.hot)#绘制3D的表面, rstide为行跨度,cstride为列跨度
ax.contourf(x_m, y_m, z, zdir='z',offset=6)#offset指的是等高线图与xy平面之间的距离, zdir设置投影方向
plt.show()

九、subplot 绘制多个图
#subplot,绘制子图像
x=np.linspace(0,1,100)
y=x**2 plt.figure()
plt.subplot(2, 2,1)#将figure划分为2*2,在编号为1的位置绘图
plt.plot(x,y) plt.subplot(2, 2,2)#将figure划分为2*2,在编号为2的位置绘图
plt.plot(x,x) plt.subplot(2, 2,3)#将figure划分为2*2,在编号为3的位置绘图
plt.plot(y,y) plt.subplot(2, 2,4)#将figure划分为2*2,在编号为4的位置绘图
plt.plot(y,y) plt.show()

matplotlib基础的更多相关文章
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- Matplotlib基础图形之散点图
Matplotlib基础图形之散点图 散点图特点: 1.散点图显示两组数据的值,每个点的坐标位置由变量的值决定 2.由一组不连续的点组成,用于观察两种变量的相关性(正相关,负相关,不相关) 3.例如: ...
- Matplotlib基础知识
Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...
- Matplotlib基础使用
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度 ...
- 模块简介与matplotlib基础
模块简介与matplotlib基础 1.基本概念 1.1数据分析 对已知的数据进行分析,提取出一些有价值的信息. 1.2数据挖掘 对大量的数据进行分析与挖掘,得到一些未知的,有价值的信息. 1.3数据 ...
- [笔记]SciPy、Matplotlib基础操作
NumPy.SciPy.Matplotlib,Python下机器学习三大利器.上一篇讲了NumPy基础操作,这节讲讲SciPy和Matplotlib.目前接触到的东西不多,以后再遇到些比较常用的再更新 ...
- 第二周 数据分析之展示 Matplotlib基础绘图函数实例
Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...
- python数据图形化—— matplotlib 基础应用
matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...
- python画图matplotlib基础笔记
numpy~~基础计算库,多维数组处理 scipy~~基于numpy,用于数值计算等等,默认调用intel mkl(高度优化的数学库) pandas~~强大的数据框,基于numpy matplotli ...
随机推荐
- Redisson实现分布式锁(3)—项目落地实现
Redisson实现分布式锁(3)-项目落地实现 有关Redisson实现分布式锁前面写了两篇博客作为该项目落地的铺垫. 1.Redisson实现分布式锁(1)---原理 2.Redisson实现分布 ...
- C# event
class Program { static void Main(string[] args) { Thermostat thermostat = new Thermostat(); Heater h ...
- Mac下安装adb
1.检查是否安装adb briandeMacBook-Pro:~ brian$ adb -bash: adb: command not found briandeMacBook-Pro:~ brian ...
- crm-1
1.crm 客户关系管理系统 :1.业务逻辑部分 2.权限插件 2.forms组件之modelform modelform就是model+form ,form根据model的字段生成标签 ,校验信息 ...
- js 替换字符串中的双引号
text.replace(/\"/g, ''); 可根据此方法去掉字符串中的双引号
- SAP MM 采购信息记录中价格单位转换因子的修改
SAP MM 采购信息记录中价格单位转换因子的修改 如下采购信息记录, Order unit 跟 base UoM 一致,都是 PC. 采购价格是8849.56 CNY / 10000W, 由于业务人 ...
- mysql 之优化
# ### part1 : sql语句优化 # (1) mysql 执行流程 客户端: 发送链接请求,然后发送sql语句 服务端: 1.连接层: 提供和客户端链接的服务 show processlis ...
- golang数据结构和算法之LinkedList链表
差不多自己看懂了,可以自己写测试了.:) LinkedList.go package LinkedList //"fmt" type Node struct { data int ...
- 【cf1111】C. Creative Snap (dfs+dp)
传送门 简单的dfs+dp即可解决.根本不用动态开点 /* * Author: heyuhhh * Created Time: 2019/11/13 10:12:42 */ #include < ...
- Requests 详解
什么是Requests Requests是用Python语言编写,基于urllib,他比urllib更加方便,可以节约我们的大量工作,完全满足HTTP测试需求