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 ...
随机推荐
- JQuery的介绍及选择器
1.什么是JQuery. JavaScript开发的过程中,处理浏览器的兼容很复杂而且很耗时,于是一些封装了这些操作的库应运而生.这些库还会把一些常用的代码进行封装. 把一些常用到的方法写到一个单独的 ...
- Flask 教程 第三章:Web表单
本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中 ...
- JS常用标签
1.由来 JavaScript的出现就是为了解决,不需要将所有的表单数据全部提交到服务器. 2.添加 加载Js代码的三种方式: 第一种:<script></script>标签里 ...
- Linux下 vim代码编译器的使用
首先在命令行模式下输入代码: vim ok.c 创建c文件 如果发现vim没有被安装的话,输入以下代码对vim进行安装: sudo apt install vim 安装完毕之后再输入第一行代码,之后进 ...
- 剑指offer 17:合并两个有序链表
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解题思路 链表基础操作考察,难点在于对于输入数据的把握,一定要考虑输入数据的全面性 1.出现 ...
- 炫彩字and鼠标爱心
<!DOCTYPE html> <style type="text/css"> body{ background-color: black; } #zx { ...
- VSCode 如何同步设置
微软新推出的 VSCode 是一款开源.轻量.良心的开发工具,一经问世,迅速受到全球广泛开发者的好评与青睐,威风之下有干掉 Sublime Text 的趋势.然而有不少 VSCode 使用者吐槽其不能 ...
- 联邦学习(Federated Learning)
联邦学习简介 联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...
- Java jdom解析xml文件带冒号的属性
Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...
- 【西北师大-2108Java】第三次作业成绩汇总
[西北师大-2108Java]第三次作业成绩汇总 熟悉PTA平台线上测试环境: 理解用户自定义类的定义: 掌握对象的声明: 学会使用构造函数初始化对象: 使用类属性与方法的使用掌握使用: 掌握pack ...