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 ...
随机推荐
- java核心技术第三篇之JDBC第一篇
01.JDBC_两个重要的概念: 1).什么是数据库驱动程序:由数据库厂商提供,面向某种特定的编程语言所开发的一套访问本数据库的类库. 驱动包一般由两种语言组成,前端是:面向某种特定编程语言的语言:后 ...
- Define the Data Model and Set the Initial Data 定义数据模型并设置初始数据
This topic describes how to define the business model and the business logic for WinForms and ASP.NE ...
- 如何在CAD中批量打印图纸?这种方法你要知道
CAD图纸都是使用CAD制图软件进行设计出来的,图纸的格式均为dwg格式的,不方便进行使用.就需要将图纸进行打印出来.多张CAD图纸如果一张一张进行打印速度就会非常的慢,那就可以使用CAD中的批量打印 ...
- UITableViewStyleGrouped 类型 tableView sectionHeader 高度问题
UITableViewStyleGrouped 类型的 tableView 在适配的时候出现很大的问题.记录一下 按照之前的方法,只需要执行以下的代码就能够很好的解决 section == 0 的时候 ...
- java 和 spring 的异步
spring 的 async 注解 https://www.baeldung.com/spring-async@Async will make it execute in a separate thr ...
- [20190531]建立job与commit.txt
[20190531]建立job与commit.txt --//昨天看链接:https://connor-mcdonald.com/2019/05/28/dbms_job-the-joy-of-tran ...
- [视频教程] ubuntu系统下安装最新版的MySQL
视频地址: https://www.bilibili.com/video/av69256331/ 官网文档https://dev.mysql.com/doc/mysql-apt-repo-quick- ...
- cannot resolve symbol 'XXX'
原因:出现这种情况的原因是在IDEA或者myeclipse编译器中没有导入相关的jar包(jar包相当于类的集合,可以使用其中的类): 针对IDEA出现cannot resolve symbol 'X ...
- python27期python连接数据库:
import pymysql创建connectinon对象:con = pymysql.connect(host = "localhost",user = "root&q ...
- STS(Spring Tool Suite)中.yml文件的语法颜色设置
点击Window --> 最下面点击 YEdit Preferences --> 点击 color Preferences 弹出以下对话框进行修改颜色