目录

一、简单折线图

二、常用基本函数:plt.xticks,plt.yticks,ply.xlim,plt.ylim,plt.xlabel,plt.ylabel,plt.title,plt.legend等

三、折线图函数plt.plot()的参数介绍及详解

四、调整坐标轴:plt.spines[]

五、文本标注:plt.text()

六、文本箭头注释:plt.annotate()

七、绘图的填充:plt.fill_between()

八、归纳练习

九、面对对象画图

一、简单折线图

1、调用包:

import numpy as np
import matplotlib.pyplot as plt 

2、正常显示中文及负号:(经常用到,否则无法显示中文及负号,经常用到,建议记住代码)

plt.rcParams['font.family'] = 'SimHei' # 正常显示中文
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号

3、简单折线图:以横轴坐标值为x,纵轴坐标值为sin(x),颜色为红色画线

x = np.linspace(0, 10, 30) # x轴坐标值
plt.plot(x, np.sin(x),c = 'r') # 参数c为color简写,表示颜色,r为red即红色
plt.show() # 显示图像

4、常用颜色简写为:

高级配色参考网站:https://xkcd.com/color/rgb/

网站界面如下:

把#开头的复制到参数c中即可,如下:

二、常用基本函数:plt.xticks,plt.yticks,plt.xlim,plt.ylim,plt.xlabel,plt.ylabel,plt.title,plt.legend等

1、plt.xticks()、plt.yticks()分别表示横纵轴的刻度:

labels参数调整刻度为自己想要的字符或文字:

2、plt.xlim(),plt.ylim()分别表示横纵轴的刻度范围:

3、给图设置标题:plt.title(),plt.xlabel(),plt.ylabel()

4,显示图例:plt.legend()

首先要在折线图上注明label参数:

plt.legend()中loc参数可选值如下(默认为best):

 bestupper rightupper leftlower leftlower rightrightcenter leftcenter rightlower centerupper centercenter

5、网格线:plt.grid()

6、保存图片:plt.savefig(fname)

三、折线图函数plt.plot()的参数介绍及详解

调用方法:plt.plot(x, y, linestyle, linewidth,color,marker, markersize, markeredgecolor, markerfactcolor, label, alpha)

  • x:指定折线图的x轴数据;
  • y:指定折线图的y轴数据;
  • linestyle:指定折线的类型,可以是实线、虚线、点虚线、点点线等,默认实线;
  • linewidth:指定折线的宽度
  • marker:可以为折线图添加点,该参数是设置点的形状;
  • markersize:设置点的大小;
  • markeredgecolor:设置点的边框色;
  • markerfacecolor:设置点的填充色;
  • label:为折线图添加标签,类似于图例的作用;

用法:

plt.plot(x,np.sin(x),color = 'b',            # 线条颜色 bluelinewidth = 1,          # 线条宽度 linestyle='-',          # 线的类型:虚线:'--',点线:'-.',短虚线':',实线:'-'marker='o',             # 线上点的形状markersize = 10,        # 点的大小markeredgecolor = 'r',  # 点的边框颜色markerfacecolor ='y',   # 点的背景颜色label = 'sin',          # 图例alpha = 1 )             # 透明度:0-1之间 ,默认1plt.legend(fontsize = 15)        # 显示图例
plt.show()

其中参数color可简写成c,linewidth可简写为lw,linestyle可简写为ls

四、调整坐标轴:plt.spines[]

1、去除上轴线及右边轴线:

x = np.linspace(0, 10, 30)
plt.plot(x, np.sin(x),c = '#0ffef9',label = 'sin(x)')ax = plt.gca()    # 获取当前子图 get current axes
ax.spines['right'].set_color('none')  # spines中文脊柱的意思,表示图边框四条脊柱线:top,bottom,left,right
ax.spines['top'].set_color('none')    # 使上轴线及右轴线颜色设置为none或‘white’plt.show()

2、调整坐标轴为x,y直角坐标轴

x = np.linspace(0, 10, 30)
plt.plot(x, np.sin(x),c = '#0ffef9',label = 'sin(x)')ax = plt.gca() # 获取当前子图 get current axes
ax.spines['right'].set_color('none')  # spines中文脊柱的意思,表示图边框四条脊柱线:top,bottom,left,right
ax.spines['top'].set_color('none')    # 使上轴线及右轴线颜色设置为none或‘white’
ax.spines['left'].set_position(('data',0))   # 调整左轴线位置到横坐标0的位置
ax.spines['bottom'].set_position(('data',0)) # 调整下轴线位置到纵坐标0的位置plt.show()

五、文本标注:plt.text()

plt.text(x,y,s)

x表示x轴坐标值,y表示y轴坐标值 通过x,y来控制标注的位置

x = np.linspace(0, 10, 30)plt.plot(x, np.sin(x),c = '#0ffef9',label = 'sin(x)')
# plt.text(x,y,s) x表示x轴坐标值,y表示y轴坐标值 通过x,y来控制标注的位置
plt.text(x = 1,y = 0.5,s = '这是标注',fontsize = 15,c = 'b',rotation = 20) # rotation控制文本字体角度
plt.show()

六、文本箭头注释:plt.annotate()

plt.annotate(text,xy,xytext,arrowprops)

text表示注释文本,xy表示箭头端点位置,xytext表示文本注释的位置,arrowprops控制箭头,形式为字典

x = np.linspace(0, 10, 30)plt.plot(x, np.sin(x),c = '#0ffef9',label = 'sin(x)')
plt.annotate(text = '底点',xy = (4.65,-1),xytext = (4.2,0),arrowprops = {'headwidth':10,'facecolor':'r'},fontsize = 15)
plt.show()

 注:若未设置arrowprops参数则没有箭头显示,只有文本注释

七、绘图的填充:plt.fill_between()

x = np.linspace(0, 10, 30)
y1 = x*2
y2 = x**2+5plt.figure(figsize = (8,5))
plt.plot(x,y1,'r',x,y2,'g') #注:可以在一个plot函数内画出多条线plt.fill_between(x,y1,y2,facecolor = 'k',alpha = 0.2)plt.show()

# 第一个参数表示要覆盖的左右范围,第二个参数表示覆盖的下限,第三个参数表示覆盖的上限,在这里则表示填充y1曲线和y2曲线中间的区域

八、归纳练习

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.family'] = 'SimHei'      # 正常显示中文
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2# 创建画布并设置大小
plt.figure( figsize=(8, 5))plt.plot(x, y1, label='linear line',marker = '+')
# zorder控制绘图顺序,值越大画的越慢,防止先画从而被后画的图挡住,如下图防止红线被图例挡住从而不清晰
plt.plot(x, y2, color='red', lw=2.0, ls='--', label='square line',zorder = 10) plt.xlim(-4,5)
plt.ylim(-5,10)
plt.xticks(rotation = 30,fontsize = 12,c = 'k') # rotation:旋转角度
plt.yticks(rotation = 30,fontsize = 12,c = 'k')
plt.grid(True)
plt.legend(loc='upper right',edgecolor = 'none',facecolor = 'g',fontsize =13)# 注释
plt.text(-2,-4,'这是直线',fontsize = 15,c = 'b')
plt.annotate('这是曲线',xy = (2,2),xytext = (3,-1),arrowprops ={'headwidth':10,'facecolor':'g'},fontsize = 15,c = 'r')
# 填充
plt.fill_between(x,y1,y2,facecolor = 'g',alpha = 0.2)plt.show()

九、面对对象画图:

在面对对象画图前,让我们来看看图像的组成:

Figure:画布,顶层级,用来容纳所有绘图元素

Axes:可以认为是figure这张画图上的子图,因为子图上一般都是坐标图,也可以愿意理解为轴域或者坐标系。

Axis:axes的下属层级,用于处理所有和坐标轴有关的元素

Tick:axis的下属层级,用来处理所有和刻度有关的元素

综上可知,画出的图像是在画布figure上显示的,axes可理解成figure上的一个子图,axis可理解成子图axes的坐标轴,tick是坐标轴axis上的刻度

我们来看看面对对象是如何画图的,其实很简单,只需要把plt改为面对自己创建的axes即可

如下:

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.family'] = 'SimHei'      # 正常显示中文
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2# 方法一
fig = plt.figure( figsize=(8, 5))  # 创建画布并设置大小
ax = fig.add_subplot(111)  # 111,表示在画布中创建一行,一列,编号为一的子图,即创建一个子图的意思
# 方法二
# fig,ax = plt.subplots(figsize =(8,5))ax.plot(x, y1, label='linear line',marker = '+')
ax.plot(x, y2, color='red', lw=2.0, ls='--', label='square line',zorder = 10) ax.set_xlim(-4,5)
ax.set_ylim(-5,10)
plt.xticks(rotation = 30,fontsize = 12,c = 'k') # rotation:旋转角度
plt.yticks(rotation = 30,fontsize = 12,c = 'k')
ax.grid(True)
ax.legend(loc='upper right',edgecolor = 'none',facecolor = 'g',fontsize =13)# 注释
ax.text(-2,-4,'这是直线',fontsize = 15,c = 'b')
ax.annotate('这是曲线',xy = (2,2),xytext = (3,-1),arrowprops ={'headwidth':10,'facecolor':'g'},fontsize = 15,c = 'r')
# 填充
ax.fill_between(x,y1,y2,facecolor = 'g',alpha = 0.2)plt.show()

matplotlib入门之plt.plot折线图跟常用基本函数相关推荐

  1. 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图

    目录 前言 (一)plt.plot()函数的本质 ==1.说明== ==2.源代码== ==3.展示效果== (二)plt.plot()函数缺省x时 ==1.说明== ==2.源代码== ==3.展示 ...

  2. python plot 增加标记线,matplotlib初学:这样画折线图和添加标注、箭头

    原标题:matplotlib初学:这样画折线图和添加标注.箭头 用matplotlib 画折线图,一般使用plt.plot函数,它的具体格式为: plt.plot(x,y1, '颜色线条') 默认线条 ...

  3. 修改python plot折线图的坐标轴刻度

    修改python plot折线图的坐标轴刻度,这里修改为整数: 代码如下: from matplotlib import pyplot as plt import matplotlib.ticker ...

  4. 使用python的matplotlib(pyplot)画折线图和柱状图

    使用python的matplotlib(pyplot)画折线图和柱状图 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的 ...

  5. MATLAB plot 画折线图的常用命令总结

    MATLAB plot 画折线图的常用命令总结 目录 MATLAB plot 画折线图的常用命令总结 写在前面的话 1 plot的数据内容 1.1 希望画的数据 1.2 折线图的点(空心实心).颜色. ...

  6. Matplotlib常见图形绘制(折线图、散点图、柱状图、直方图、饼图)

    Matplotlib能够绘制折线图.散点图.柱状图.直方图.饼图. 我们需要知道不同的统计图的意义,以此来决定选择哪种统计图来呈现我们的数据. 1 常见图形种类及意义 折线图:以折线的上升或下降来表示 ...

  7. Matplotlib基础绘图功能 — 以折线图为例

    1 完善原始折线图 - 给图形添加辅助功能 为了更好地理解所有基础绘图功能,通过天气温度变化的绘图来融合所有的基础API使用 需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在1 ...

  8. python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...

    今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #enco ...

  9. matplotlib绘图:散点图、折线图、柱状图、水平条形图、饼图和直方图

    目录 数据可视化 Matplotlib 安装和导入库 安装Matplotlib库 导入Matplotlib库中的`pyplot`子库 一.Matplotlib基础知识 1. Figure对象 1.1 ...

最新文章

  1. 2021年春季学期-信号与系统-第八次作业参考答案-第九小题
  2. Linux - 手册(manual)使用 详解
  3. 成功解决调用密钥报错4001 加密方式错误
  4. 微信的行程卡服务器异常,行程卡打不开服务器崩了解决方法 行程卡短信查询步教程...
  5. HashSet集合和TreeSet集合
  6. NYOJ 312 20岁生日
  7. 三十、电子商务分析与服务推荐的分析方法与过程
  8. stm32 led屏控制卡_LED显示屏控制卡解析
  9. PopupWindow的一些使用总结
  10. RA维持期达标式减停生物制剂(DRESS研究)的18个月数据
  11. 使用 session_destroy() 销毁session文件时 报 Trying to destroy uninitialized session 错误解决办法
  12. JGit、SvnKit - 版本提交日志(1)提取
  13. Amazon Alexa Smart Home Skill 增加订阅事件
  14. 适用于Android的最佳本地音乐播放器
  15. 宝塔php7.1安装ioncube,如何使用宝塔安装ionCube扩展
  16. k8s高可用二进制部署
  17. 周纪三 周慎靓王元年(辛丑,公元前320年)——摘要
  18. 从其他地方复制过来的文字中间有空格怎么删除?
  19. js获取免费天气api
  20. hackerrank初级篇之staircase

热门文章

  1. python操作本地浏览器webbrowser
  2. 沃尔玛WERCSmart更新要求
  3. 总结下利用Python赚钱的方法,过年在家太闲,小赚看一笔,1000-5000不等
  4. RowBounds分页原理、RowBounds的坑
  5. 浅对boss直聘上广州的数据分析岗位发布情况进行分析
  6. bash正则之BASH_REMATCH
  7. 1GE+WIFI路由器远程代码执行漏洞
  8. VisualFreeBasic通过WinHttp.dll实现Http/Https请求
  9. 微信小程序的页面隐藏
  10. C# on DevCloud