您现在的位置是:网站首页> 编程资料编程资料

python使用Matplotlib绘图及设置实例(用python制图)_python_

2023-05-26 454人已围观

简介 python使用Matplotlib绘图及设置实例(用python制图)_python_

# matplotlib提供快速绘图模块pyplot,它模仿了MATLAB的部分功能

import matplotlib.pyplot as plt        #导入绘图模块 from matplotlib import pyplot as plt           #两种导入方法都可

第一节内容的精简版总结:

  1. 绘制折线图(plt.plot)
  2. 设置图片大小和分辨率(plt.figure)
  3. 保存图片到本地(plt.savefig)
  4. 设置xy轴刻度和字符串(xticks、yticks)
  5. 设置标题、xy轴标签(title、xlable、ylable)
  6. 设置字体(font_manager.fontProperties,matplotlib.rc)
  7. 同一张图绘制多线条(plt多次plot)
  8. 添加图例、绘制网格
  9. 其他图像类型(散点图plt.scatter,条形图plt.bar,横向plt.barh,直方图plt.hist(bin.width组距、num_bins分多少组、))

一、初识matplotlib.pyplot

准备好制图数据,传入参数。即可使用plt.plot(参数)、plt.show()一键出图!

import matplotlib.pyplot as plt x = [......] y = [......] plt.plot(x,y,label='图例')        #绘图,并且标注图例 plt.show()        #显示 plot.legend(prop=my_font)        #设置显示图例,括号中意思为显示中文(后面讲解)

1.绘制图像

plt.plot() 参数设置:

  • color=’ ‘        线条颜色
  • linestyle=’‘        线条风格
  • linewidth=        线条粗细
  • alpha=0.5        透明度        (对照表见常见绘图属性设置附表)

一个实例:假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15]

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里的值作为刻度 plt.xticks(range(2,25))        #传入range数列 plt.yticks(range(min(y),max(y)+1))        #传入最小到最大值数列
_xticks_lables = [i/2 for i in range(4,49)]                # 生成更复杂的数列 plt.xticks(_xticks_lables[::3])        #取步长作为刻度

自定义刻度内容

_x =list(x) [::3] _xticks_labels = ["10点{ }分".format(i) for i in _x] plt.xticks(_x,_xticks_labels)        #分别代表刻度范围和刻度内容

5.添加描述信息(标题、轴标签)

plt.title("折线图")    #设置标题 plt.xlabel("时间")    #设置x轴标注 plt.ylabel("气温")    #设置y轴标注

6.设置显示中文(导入字体模块)

from matplotlib import font_manager        #导入字体管理模块 my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF") #定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里设置为宋体 plt.xlabel("时间",fontproperties = my_font,fontsize = 18) #在设置x坐标中文标注,令fontproperties = my_font,fontsize令字体为18号 #plt.title,plt.ylabel,plt.xticks,plt.yticks设置中文标注类似

7.绘制网格

plt.grid(alpha=0.4)

绘制一个温度随时间变化的折线图实例

import matplotlib.pyplot as plt import random #导入随机生成模块 from matplotlib import font_manager#导入字体管理模块 my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF") #定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,本次设置为宋体 x = range(0,120) #x值为0-120 y = [random.randint(20,35) for i in range(120)] #y值为120个在20-35之间的随机数 plt.figure(figsize=(15,10),dpi = 80) #图片大小为15*10,每英寸80个像素点 '''调整x轴刻度''' _xticks_labels = ["10点{}分".format(i) for i in range(60)] _xticks_labels += ["11点{}分".format(i) for i in range(60,120)] plt.xticks(list(x)[::5],_xticks_labels[::5],rotation=45) #rotation旋转度数 #取步长5,数字和字符串一一对应,保证数据的长度一样 '''设置标注''' plt.title("10点到12点每分钟温度变化图",fontproperties = my_font,fontsize = 24) #设置标题 plt.xlabel("时间",fontproperties = my_font,fontsize = 18) #设置x坐标标注,字体为18号 plt.ylabel("每分钟对应的温度",fontproperties = my_font,fontsize = 18) #设置y坐标标注 plt.plot(x,y) #绘图 plt.show() #显示

二、常见绘图属性设置

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

面向对象方式绘图

-六神源码网