Matplotlib基本语法
文章目录
- 写在开头
- 1 图形样式
- 2 绘制箭头
- 3 添加形状(圆、矩形……)
- 画矩形
- 参数说明:
- 4 添加标注
- 参数说明:
- 5 图形设置
- 5.1 小工具
- 5.2 刻度调整
- 设定坐标轴范围
- 修改主刻度及其标签样式
- 添加背景网格
- 设置轴比例,y轴同理
- 5.3 文字调整
- 6 绘图设置
写在开头
学习网站:Matplotlib中文
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文整理了一些常用的语法。
1 图形样式
图形样式 | |
---|---|
plt.scatter() | 散点图 |
plt.hist() | 直方图 |
plt.plot() | 折线图,但通过调整步长可以实现曲线 |
plt.bar() | 柱形图 |
plt.barh() | 条形图 |
plt.pie() | 饼图 |
plt.boxplot() | 箱图 |
plt.fill() | 填充多边形 |
2 绘制箭头
plt.arrow(x, y, dx, dy, kwargs)
- x, y: 箭头起点的x和y坐标
- dx, dy: 箭头沿x和y方向的位移
- kwargs: 有助于为箭头添加属性的可选参数,例如为箭头添加颜色,更改箭头的宽度
3 添加形状(圆、矩形……)
plt.gca().add_patch()
# Circle
shape = patches.Circle((0, 0), radius = 1., color = '.75')
plt.gca().add_patch(shape)
# Rectangle
shape = patches.Rectangle((2.5, -.5), 2., 1., color = '.75')
plt.gca().add_patch(shape)
画矩形
参考网站
plt.gca().add_patch(plt.Rectangle((x[i],y[i]),width,height,angle=angle,facecolor='skyblue'))
参数说明:
- xy:2元组,矩形左下角坐标
- width:矩形的宽度
- height:矩形的高度
- angle:float,可选,矩形相对于x轴逆时针旋转角度,默认0
- fill:bool,可选,是否填充矩形
【问题记录】
绘制的矩形在运行过程中会出现形变成平行四边形的情况,原因在于轴比例的设定问题,通过将横轴和纵轴的比例设定成一比一即可以解决该问题。
4 添加标注
plt.annotate('t',xy=(1,2),xytext=(3,4),arrowprops=dict())
参数说明:
- t为注释文本内容
- xy 为被注释的坐标点
- xytext 为注释文字的坐标位置
plt.annotate(s='New point 2',xy=(1,2),xytext=(-1.5,2.5),color='red',arrowprops=dict(arrowstyle='-|>',connectionstyle='arc3',color='red'))
xycoords 参数如下:
- figure points:图左下角的点
- figure pixels:图左下角的像素
- figure fraction:图的左下部分
- axes points:坐标轴左下角的点
- axes pixels:坐标轴左下角的像素
- axes fraction:左下轴的分数
- data:使用被注释对象的坐标系统(默认)
- polar(theta,r):if not native ‘data’ coordinates t
weight 设置字体线型
{‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’}color 设置字体颜色
- {‘b’, ‘g’, ‘r’, ‘c’, ‘m’, ‘y’, ‘k’, ‘w’}
- ‘black’,'red’等
- [0,1]之间的浮点型数据
- RGB或者RGBA, 如: (0.1, 0.2, 0.5)、(0.1, 0.2, 0.5, 0.3)等
arrowprops:箭头参数,参数类型为字典dict
- width:箭头的宽度(以点为单位)
- headwidth:箭头底部以点为单位的宽度
- headlength:箭头的长度(以点为单位)
- shrink:总长度的一部分,从两端“收缩”
- facecolor:箭头颜色
bbox给标题增加外框 ,常用参数如下:
- boxstyle:方框外形
- facecolor:(简写fc)背景颜色
- edgecolor:(简写ec)边框线条颜色
- edgewidth:边框线条大小
5 图形设置
5.1 小工具
- plt.show() //显示图像
- plt.savefig(‘fig.eps’) // 保存图像
- plt.figure(figsize(12,8)) //创建12×8的绘图框
5.2 刻度调整
设定坐标轴范围
方法一:
plt.xlim(xmin,xmax)
plt.ylim(ymin,ymax)
仅能设定坐标轴的刻度范围
方法二:
plt.xticks()
plt.yticks()
既可以设置范围,又可以设置每个刻度之间的间距;还可以设置标签以及标签的旋转角度
延伸
plt.xticks(range(xmin,xmax,step))
修改主刻度及其标签样式
plt.tick_params(axis='x',size=50,labelsize=20)
添加背景网格
plt.grid(which='major')
# 或
plt.grid(True) //添加背景网格
设置轴比例,y轴同理
plt.xscale('log')
5.3 文字调整
- plt.title(‘title’) //添加子图标题内容title
- plt.legend([‘ln’,‘pt’]) //添加图例
- plt.xlabel(‘x’) //添加x轴标签,y轴同理
- plt.text(1,1,‘t’) //在(1,1)位置添加文字t
- plt.subtitle(‘T’) //添加绘图框标题
- from matplotlib.font_manager import FontProperties //使用中文文字需要导入包
6 绘图设置
绘制子图
- plt.subplot(1,2,1) //创建1×2的子图矩阵,当前绘制第一幅子图
- plt.tight_layout() //自动调整子图间距
- plt.subplots_adjust() //调整子图的大小
fig=plt.figure() //创建绘图框并返回绘图框对象
ax=fig.add_subplot(121) //对创建好的绘图框对象添加1×2的子图矩阵并返回第一个子图对象
fig, ax=plt.subplots(1,2) //创建1×2的子图矩阵并同时返回绘图框和两个子图对象,其效果等于前两者之和。
ax.plot(),ax.bar()……//向子图中添加图形,其余样式同理
az.set_title(),ax.set_xlabel(),……//对子图添加标题、标签等
plt.gca() //返回当前绘图框中的子图对象
plt.gcf() //返回当前绘图框对象
ax.invert_xaxis() //反序x轴,y轴同理
ax.xaxis.tick_top() //将x轴主刻度标签移动到上方,y轴同理
ax.tick_params() //设置坐标轴刻度
ax.set_frame_on(False) //关闭子图边框
ax.set_axis_off() //关闭子图所有坐标轴
开启交互:plt.ion()
关闭交互:plt.ioff()
from mpl_toolkits.mplot3d import Axes3D fig=plt.figure() ax=Axes3D(fig) //创建3D子图对象
调整x,y轴等比例:ax.set_aspect(1.0)
figure.canvas.draw()//用于重新绘制整张图表
常用颜色:
plt.rcParams
matplotlib 是为 python 提供强大绘图功能的第三方库,它的配置文件即 .rc 文件,为 matplotlib 输出图形的几乎所有属性指定了永久的默认值。(图形属性包括包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等)在代码执行过程中,有两种方式可以更改运行参数,从而达到修改 matplotlib 输出图形属性的目的。- 使用参数字典 rcParams 访问并修改已经加载的配置项。(注:rc 应该是 run configuration de 缩写)
import matplotlib as mpl mpl.rcParams['lines.color'] = 'blue'
- 通过向 matplotlib.rc() 函数传入属性的关键字来修改配置。
import matplotliib as mpl\mpl.rc('lines', color='blue')
plt.rcParams['font.sans-serif'] = 'SimHei'
使图形中的中文正常编码显示plt.rcParams['axes.unicode_minus'] = False
使坐标轴刻度表签正常显示正负号
Matplotlib基本语法相关推荐
- pypython画图中的cumsum是什么_Python绘图之matplotlib基本语法
y = np.sin(x) # 因变量取值 plt.plot(x,y,'b*',label='aaa') # 'b*'表示蓝色*状线,label是指定义图例 plt.plot(x*2,y,'r--', ...
- 数据科学 IPython 笔记本 8.3 Matplotlib 可视化
8.3 Matplotlib 可视化 原文:Visualization with Matplotlib 译者:飞龙 协议:CC BY-NC-SA 4.0 本节是<Python 数据科学手册> ...
- matplotlib柱状图上方显示数据_可视化技能之Matplotlib(上)|可视化系列01
作者:蜇虫适航 来源:蜇虫适航 Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的"三驾马车"之一.Matplotli ...
- Matplotlib可视化菜鸟教程
公众号后台回复"图书",了解更多号主新书内容 作者:蛰虫适航 来源:蛰虫适航 简介 Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的&q ...
- 【数据分析之道-Matplotlib(四)】Matplotlib散点图
文章目录 专栏导读 1.Matplotlib散点图语法 2.Matplotlib散点图设置图标大小 3.Matplotlib散点图自定义点颜色 4.Matplotlib散点图设置两组散点图 5.Mat ...
- xlabel函数--Matplotlib
xlabel函数使用–Matplotlib xlabel语法.功能与参数设置可平移至ylabel. 函数语法: xlabel(xlabel, fontdict=None, labelpad=None, ...
- matlab绘制棒棒糖,可视化技能之Matplotlib(上)|可视化系列01
简介 Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的"三驾马车"之一.Matplotlib是基础而非常强大的可视化库,Seaborn等 ...
- 手把手教你从零上手Python(付安装地址、代码)
来源:大数据文摘 本文共3974字,建议阅读7分钟. 通过本文带给大家从零开始学习Python应该怎么做! 数据科学团队在持续稳定的发展壮大,这也意味着经常会有新的数据科学家和实习生加入团队.我们聘用 ...
- 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1
日萌社 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1 人工智能AI:TensorFlow Keras PyTorch ...
最新文章
- Mac的移动硬盘不能装载该如何解决?
- Servlet--06--解决乱码问题; 请求转发; 重定向;
- java for循环排序_java编程问题。用两个for循环来把输入的整数从小到大排序。
- 安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈
- 论文浅尝 | 具有图卷积网络和顺序注意力机制的应用于目标导向的对话系统
- 【ES11(2020)】可选链操作符和空值合并运算符
- 公有云退款流程及政策--退款规则及退款流程(阿里云 华为云) --2020-09-03
- ScrollDown的基本操作
- php图片转字节数组中,使用字节数组将图像上传到服务器,在flex 4.5 air中上传php...
- 在 IDEA 中配置 PlantUML (一门快速画图的设计语言)开发环境
- libRTMP 整体说明
- CAN 通信协议(希望大家多多指点)
- JS特效三:LightBox(轮播图+图片弹窗)
- 纹理压缩简介 DXT PVR ETC
- 正阅读微信小说分销系统-视频教程-1.渠道商-公众号配置-基础信息
- 什么是工业大数据?工业大数据的价值体现在哪些方面?
- [老码团队]ttcn3特性介绍
- 数据分析_python数据可视化(基于matplotlib+pandas)
- 2021年我的读书心得 | 附 TOP 10书单 by 傅一平
- 有 ABCD 四个人要在夜里过一座桥,他们通过这座桥分别需要耗时 1、2、5、10 分钟,现在只有一支手电,过桥时必须带有手电,并且同时最多只能两个人一起过桥。请问如何安排能够让四个人尽快都过桥。
热门文章
- 区块链/以太坊/DEX-在以太坊上构建 GraphQL API
- 解决win11 IDEA 升级或重新安装任务栏图标变成白色的问题
- originPro2021(2)工作簿中添加新列且图中添加线
- 3D立体游戏的起源和目前的发展
- 用代码画时序图!YYDS
- 为什么笔记本连接WiFi总是受限
- SEM百度推广初学者入门级教程
- Scrcpy 投屏神器基本使用
- 1、Socket网络编程之建立Server、Client连接
- Twitter 宣布抛弃 Mesos,转向 Kubernetes;全球关键5G专利我国占34%;华为面试要改革?...