matplotlib画图代码,matplotlib绘制图形
PythonMatplotlib包可以绘制各种图形,功能非常齐全。下面文章主要介绍用matplotlib进行Python绘图和设置的相关信息,通过示例代码详细介绍。有需要的朋友可以参考一下。
00-1010一、了解matplotlib.pyplot1、画一个像2。设置图像尺寸3。保存图像文件4。设置X,Y轴刻度范围5。添加描述信息(标题、轴标签)6。设置显示中文(导入字体模块)7。绘制网格2。设置通用绘图属性1。制图符号(制作者)2。线条样式)3。颜色缩写(颜色)4。Windows字体的中英文名称通过比较面向对象绘图配置对象的属性绘制多个子图3、Artist对象Artist对象绘制过程设置Artist属性一些例子Figure容器轴容器轴比例设置汇总# matplotlib提供了一个快速绘图模块pyplot,模仿了MATLAB的一些功能,
将matplotlib.pyplot导入为plt #导入绘图模块
从matplotlib导入pyplot as PLT #有两种导入方法。
第一部分的简化版摘要:
画一个折线图(plt.plot),设置图片大小和分辨率(plt。FIG)、本地保存图片(plt.savefig)、设置xy轴刻度和字符串(xticks、yticks)、设置标题、Xylable、YLABLE、设置字体(font_manager.fontProperties、Matplotlib.rc)在同一个图片中绘制多条线(plt multiple plots)添加图例并绘制其他图像类型的网格(散点图plt.scatter、条形图plt.bar、水平plt.barh、直方图PLT . hist(bin . width group distance、多少组num_bins,))
目录
准备图纸数据和输入参数。可以用plt.plot(参数)和plt.show()一键出图!
将matplotlib.pyplot作为plt导入
x=[.]
y=[.]
Plt.plot(x,y,label= legend) #绘图,并标记图例。
Plt.show() #显示
Plot.legend(prop=my_font) #设置显示图例,括号表示显示中文(后面解释)
一、初识matplotlib.pyplot
plt.plot()的参数设置:
color= line color line style= line style线宽=线宽alpha=0.5透明度(对照表见常用绘图属性设置表)。举个例子:假设一天中每两个小时(范围(2,26,2))的温度()为[15,13,14.5,17,20,]
sh:py;">import matplotlib.pyplot as plt
x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
# 绘图
plt.plot(x,y)
# 显示
plt.show()
绘制出如下图片:
2.设置图片大小
在绘制图片之前,使用plt.figure函数设置图片大小,其中figsize为元组,分别代表长宽,dpi(Dot Per Inch)为分辨率表示的单位之一。
plt.figure(figsize=(20,8),dpi=150)#图片大小为20*8,每英寸150个像素点
3.保存图片文件
plt.savefig("./t1.png") #将图片保存到本地
引号里为文件路径和文件名( ./ 代表当前路径,png为文件后缀/格式)
4.设置X,Y轴刻度范围
设置x,y轴的范围可以使用多种方法
plt.xticks(x) # 将x里的值作为刻度
_xticks_lables = [i/2 for i in range(4,49)] # 生成更复杂的数列
自定义刻度内容
_x =list(x) [::3]
5.添加描述信息(标题、轴标签)
plt.title("折线图") #设置标题
6.设置显示中文(导入字体模块)
from matplotlib import font_manager #导入字体管理模块
7.绘制网格
plt.grid(alpha=0.4)
绘制一个温度随时间变化的折线图实例
import matplotlib.pyplot as plt
二、常见绘图属性设置
1.绘图符号(Makers)
符号
中文说明
英文说明
'.'
圆点
point marker
','
像素点
pixel marker
'o'
圆圈
circle marker
'v'
向下三角形
triangle_down marker
'^'
向上三角形
triangle_up marker
'<'
向左三角形
triangle_left marker
'>'
向右三角形
triangle_right marker
'1'
向下Y形
tri_down marker
'2'
向上Y形
tri_up marker
'3'
向左Y形
tri_left marker
'4'
向右Y形
tri_right marker
's'
方形
square marker
'p'
五边形
pentagon marker
'*'
星形
star marker
'h'
六角形1
hexagon1 marker
'H'
六角形2
hexagon2 marker
'+'
加号
plus marker
'x'
叉号
x marker
'D'
钻石形
diamond marker
'd'
钻石形(小)
thin_diamond marker
''
竖线
vline marker
'_'
横线
hline marker
2.线型(Line Styles)
符号
中文说明
英文说明
'-'
实线
solid line style
'--'
虚线
dashed line style
'-.'
点划线
dash-dot line style
':'
点线
dotted line style
3.颜色缩写(Colors)
多种丰富的颜色对照代码参见:RGB颜色值与十六进制颜色码转换工具 (sioe.cn)
符号
中文说明
英文说明
'b'
蓝
blue
'g'
绿
green
'r'
红
red
'c'
青
cyan
'm'
紫
magenta
'y'
黄
yellow
'k'
黑
black
'w'
白
white
4.Windows字体中英文名称对照
中文名称
英文名称
黑体
SimHei
微软雅黑
Microsoft YaHei
微软正黑体
Microsoft JhengHei
新宋体
NSimSun
新细明体
PMingLiU
细明体
MingLiU
标楷体
DFKai-SB
仿宋
FangSong
楷体
KaiTi
仿宋_GB2312
FangSong_GB2312
楷体_GB2312
KaiTi_GB2312
面向对象方式绘图
matplotlib是一套面向对象的绘图库,图中的所有部件都是python对象。
pyplot是matplotlib仿照MATLAB提供的一套快速绘图API,它并不是matplotlib本体。
pyplot虽然用起来简单快捷,但它隐藏了大量的细节,不能使用一些高级功能。
pyplot模块内部保存了当前图表和当前子图等信息,可以分别用gcf()和gca()获得这两个对象:
plt.gcf(): "Get current figure"获取当前图表(Figure对象)
plt.gca(): "Get current figure"获取当前子图(Axes对象)
pyplot中的各种绘图函数,实际上是在内部调用gca获取当前Axes对象,然后调用Axes的方法完成绘图的。
import matplotlib.pyplot as plt
配置对象的属性
matplotlib所绘制的图表的每一部分都对应一个对象,有两种方式设置这些对象的属性:
通过对象的set_*()方法设置。
通过pyplot的setp()方法设置。
同样也有两种方法查看对象的属性:
通过对象的get_*()方法查看。
通过pyplot的getp()方法查看。
import matplotlib.pyplot as plt
import numpy as np
绘制多个子图
在matplotlib中,一个Figure对象可以包括多个Axes对象(也就是子图),一个Axes代表一个绘图区域。最简单的多子图绘制方式是使用pyplot的subplot函数。
subplot(numRows, numCols, plotNum)接受三个参数:
numRows:子图行数
numCols:子图列数
plotNum:第几个子图(按从左到右,从上到下的顺序编号)
import matplotlib.pyplot as plt
三、Artist对象
简单类型的Artist对象是标准的绘图元件,例如Line2D,Rectangle,Text,AxesImage等
容器类型的Artist对象包含多个Artist对象使他们组织成一个整体例如Axis,Axes,Figure对象
Artist对象进行绘图的流程
创建Figure对象
为Figure对象创建一个或多个Axes对象
调用Axes对象的方法来创建各种简单的Artist对象
import matplotlib.pyplot as plt
设置Artist属性
get_* 和 set_* 函数进行读写fig.set_alpha(0.5*fig.get_alpha())
Artist 属性
作用
alpha
透明度,值在0到1之间,0为完全透明,1为完全不透明
animated
布尔值,在绘制动画效果时使用
axes
此Artist对象所在的Axes对象,可能为None
clip_box
对象的裁剪框
clip_on
是否裁剪
clip_path
裁剪的路径
contains
判断指定点是否在对象上的函数
figure
所在的Figure对象,可能为None
label
文本标签
picker
控制Artist对象选取
transform
控制偏移旋转
visible
是否可见
zorder
控制绘图顺序
一些例子
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
Figure容器
最上层的Artist对象是Figure,包含组成图表的所有元素
Figure可以包涵多个Axes(多个图表),创建主要有三种方法:
axes=fig.add_axes([left, bottom, width, height])
fig, axes =plt.subplots(行数,列数)
axes=fig.add_subplot(行数,列数,序号)
Figure 属性
说明
axes
Axes对象列表
patch
作为背景的Rectangle对象
images
FigureImage对象列表,用来显示图片
legends
Legend对象列表
lines
Line2D对象列表
patches
patch对象列表
texts
Text对象列表,用来显示文字
import matplotlib.pyplot as plt
Axes容器
图像的区域,有数据空间(标记为内部蓝色框)
图形可以包含多个 Axes,轴对象只能包含一个图形
Axes 包含两个(或三个)Axis对象,负责数据限制
每个轴都有一个标题(通过set_title()设置)、一个x标签(通过set_xLabel()设置)和一个通过set_yLabel()设置的y标签集。
Axes 属性
说明
artists
A list of Artist instances
patch
Rectangle instance for Axes background
collections
A list of Collection instances
images
A list of AxesImage
legends
A list of Legend instances
lines
A list of Line2D instances
patches
A list of Patch instances
texts
A list of Text instances
xaxis
matplotlib.axis.XAxis instance
yaxis
matplotlib.axis.YAxis instance
Axes的方法(Helper method)
所创建的对象(Artist )
添加进的列表(Container)
ax.annotate - text annotations
Annotate
ax.texts
ax.bar - bar charts
Rectangle
ax.patches
ax.errorbar - error bar plots
Line2D and Rectangle
ax.lines and ax.patches
ax.fill - shared area
Polygon
ax.patches
ax.hist - histograms
Rectangle
ax.patches
ax.imshow - image data
AxesImage
ax.images
ax.legend - axes legends
Legend
ax.legends
ax.plot - xy plots
Line2D
ax.lines
ax.scatter - scatter charts
PolygonCollection
ax.collections
ax.text - text
Text
ax.texts
subplot2grid函数进行更复杂的布局。subplot2grid(shape, loc, rowspan=1, colspan=1, **kwargs)
shape为表示表格形状的元组(行数,列数)
loc为子图左上角所在的坐标元组(行,列)
rowspan和colspan分别为子图所占据的行数和列数
import matplotlib.pyplot as plt
坐标轴上的刻度线、刻度文本、坐标网格及坐标轴标题等
set_major_* set_minor_*
get_major_* get_minor_*
import numpy as np
坐标轴刻度设置
matplotlib会按照用户所绘制的图的数据范围自动计算,但有的时候也需要我们自定义。
我们有时候希望将坐标轴的文字改为我们希望的样子,比如特殊符号,年月日等。
# 修改坐标轴刻度的例子
import datetime
如果数据中本来就有时间日期信息,可以使用strptime和strftime直接转换。
使用strptime函数将字符串转换为time,使用strftime将time转换为字符串。
python中的时间日期格式化符号:
符号
意义
%y
两位数的年份表示(00-99)
%Y
四位数的年份表示(000-9999)
%m
月份(01-12)
%d
月内中的一天(0-31)
%H
24小时制小时数(0-23)
%I
12小时制小时数(01-12)
%M
分钟数(00=59)
%S
秒(00-59)
%a
本地简化星期名称
%A
本地完整星期名称
%b
本地简化的月份名称
%B
本地完整的月份名称
%c
本地相应的日期表示和时间表示
%j
年内的一天(001-366)
%p
本地A.M.或P.M.的等价符
%U
一年中的星期数(00-53)星期天为星期的开始
%w
星期(0-6),星期天为星期的开始
%W
一年中的星期数(00-53)星期一为星期的开始
%x
本地相应的日期表示
%X
本地相应的时间表示
%Z
当前时区的名称
%%
%号本身
总结
到此这篇关于python使用Matplotlib绘图及设置的文章就介绍到这了,更多相关pythonMatplotlib绘图设置内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。