您现在的位置是:网站首页> 编程资料编程资料
python使用Matplotlib绘图及设置实例(用python制图)_python_
2023-05-26
456人已围观
简介 python使用Matplotlib绘图及设置实例(用python制图)_python_
# matplotlib提供快速绘图模块pyplot,它模仿了MATLAB的部分功能
import matplotlib.pyplot as plt #导入绘图模块 from matplotlib import pyplot as plt #两种导入方法都可
第一节内容的精简版总结:
- 绘制折线图(plt.plot)
- 设置图片大小和分辨率(plt.figure)
- 保存图片到本地(plt.savefig)
- 设置xy轴刻度和字符串(xticks、yticks)
- 设置标题、xy轴标签(title、xlable、ylable)
- 设置字体(font_manager.fontProperties,matplotlib.rc)
- 同一张图绘制多线条(plt多次plot)
- 添加图例、绘制网格
- 其他图像类型(散点图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 |
面向对象方式绘图
- matplotlib是一套面向对象的绘图库,图中的所有
相关内容
- python编写WAF与Sqlmap结合实现指纹探测_python_
- Python+Pygame实现趣味足球游戏_python_
- PyHacker实现网站后台扫描器编写指南_python_
- Python+OpenCV实现六种常用图像特效_python_
- Pyhacker实现端口扫描器_python_
- PyHacker编写指南引用Nmap模块实现端口扫描器_python_
- PyHacker编写URL批量采集器_python_
- Python基础篇之字符串的最全常用操作方法汇总_python_
- 十个Python经典小游戏的代码合集_python_
- python基础知识之索引与切片详解_python_
