python使用matplotlib绘制折线图教程

发布时间 - 2026-01-10 22:55:16    点击率:

matplotlib简介

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。

它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。

在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高。

而 Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。

绘图库Matplotlib的安装方法:点击这里

matplotlib绘制折线图

1. line chart

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1)
plt.plot(x, y2)

plt.title('line chart')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

2. 图例

在plot的时候指定label,然后调用legend方法可以绘制图例。例如:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, label='y = sin(x)')
plt.plot(x, y2, label='y = cos(x)')
plt.legend()
plt.show()


legend方法可接受一个loc关键字参数来设定图例的位置,可取值为数字或字符串:

     0: ‘best'

     1: ‘upper right'

     2: ‘upper left'

     3: ‘lower left'

     4: ‘lower right'

     5: ‘right'

     6: ‘center left'

     7: ‘center right'

     8: ‘lower center'

     9: ‘upper center'

     10: ‘center'

3. 线的样式

(1)颜色

plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:

1、颜色名称或简写

     b: blue

     g: green

     r: red

     c: cyan

     m: magenta

     y: yellow

     k: black

     w: white

2、#rrggbb

3、(r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间

4、[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色

(2)样式

plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:

  • -, solid
  • --, dashed
  • -., dashdot
  • :, dotted
  • '', ' ', None

(3)粗细

设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, c='r', ls='--', lw=3)
plt.plot(x, y2, c='#526922', ls='-.')
plt.show()


4. marker

以下关键字参数可以用来设置marker的样式:

  • marker
  • markeredgecolor 或 mec
  • markeredgewidth 或 mew
  • markerfacecolor 或 mfc
  • markerfacecoloralt 或 mfcalt
  • markersize 或 ms

其中marker可取值为:

  • '.': point marker
  • ',': pixel marker
  • 'o': circle marker
  • 'v': triangle_down marker
  • '^': triangle_up marker
  • '<': triangle_left marker
  • '>': triangle_right marker
  • '1': tri_down marker
  • '2': tri_up marker
  • '3': tri_left marker
  • '4': tri_right marker
  • 's': square marker
  • 'p': pentagon marker
  • '*': star marker
  • 'h': hexagon1 marker
  • 'H': hexagon2 marker
  • '+': plus marker
  • 'x': x marker
  • 'D': diamond marker
  • 'd': thin_diamond marker
  • '|': vline marker
  • '_': hline marker

例如:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, marker='o', mec='r', mfc='w')
plt.plot(x, y2, marker='*', ms=10)
plt.show()


另外,marker关键字参数可以和color以及linestyle这两个关键字参数合并为一个字符串。例如:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, 'ro-')
plt.plot(x, y2, 'g*:', ms=10)
plt.show()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# matplotlib绘制折线图  # matplotlib  # 折线图  # matplotlib画折线图  # Python使用matplotlib绘制动画的方法  # python使用matplotlib绘制柱状图教程  # python学习之matplotlib绘制散点图实例  # Python通过matplotlib绘制动画简单实例  # Python使用matplotlib绘制多个图形单独显示的方法示例  # python使用matplotlib模块绘制多条折线图、散点图  # python使用matplotlib绘制热图  # Python用 matplotlib 绘制柱状图  # Python matplotlib 绘制散点图详解建议收藏  # python中matplotlib的用法及绘制简单图形详解  # 值为  # 如果你  # 都有  # 浮点数  # 在这个  # 还可以  # 都能  # 中有  # 均为  # 这两个  # 点击这里  # 不高  # 较强  # 只需要  # 这篇文章  # 将它  # 谢谢大家  # 并为  # 不习惯  # 可以用来 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  如何在万网主机上快速搭建网站?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  使用spring连接及操作mongodb3.0实例  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  香港网站服务器数量如何影响SEO优化效果?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  文字头像制作网站推荐软件,醒图能自动配文字吗?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  轻松掌握MySQL函数中的last_insert_id()  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何破解联通资金短缺导致的基站建设难题?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  大连 网站制作,大连天途有线官网?  如何快速搭建高效可靠的建站解决方案?  JS实现鼠标移上去显示图片或微信二维码  如何选择可靠的免备案建站服务器?  如何在Windows 2008云服务器安全搭建网站?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  公司网站制作价格怎么算,公司办个官网需要多少钱?  利用python获取某年中每个月的第一天和最后一天  如何在云服务器上快速搭建个人网站?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何为不同团队 ID 动态生成多个“认领值班”按钮  再谈Python中的字符串与字符编码(推荐)  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何自定义建站之星模板颜色并下载新样式?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何获取PHP WAP自助建站系统源码?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何彻底删除建站之星生成的Banner?  Laravel如何优化应用性能?(缓存和优化命令)