Python 用 matplotlib 中的 plot 画图,折线图
文章目录
- 1. 加载宏包
- 2. plot 函数的语法
- plot([x], y, [fmt], **kwargs)
- 3. 一张图画好几条线
1. 加载宏包
使用 matplotlib 包画图时,我们一般加载里面的 pyplot,并命名为 plt,然后使用 plot 函数画图。
# 导入 matplotlib 中的 plot, 并命名为常用名 plt
import matplotlib.pyplot as plt
例如,下面的代码画出正弦函数 y=sin(x)y=sin(x)y=sin(x) 的图形。
import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = np.arange(0, 10, 0.1) # 横坐标数据为从0到10之间,步长为0.1的等差数组
y = np.sin(x) # 纵坐标数据为 x 对应的 sin(x) 值# 生成图形
plt.plot(x, y)# 显示图形
plt.show()
图形显示:
利用plot函数,我们可以对图形进行更多精细的设置,官方的详细文档可以参看:https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.plot.html。
2. plot 函数的语法
Plot 函数的基本语法是:
plot([x], y, [fmt], **kwargs)
含义 | |
---|---|
[x] | 可选参数,横坐标轴数据 |
y | 纵坐标轴数据 |
[fmt] | 可选参数,字符串,定义图形的基本样式:颜色,点形,线形 |
**Kwargs | 不定长的关键字参数,用字典形式设置图形的其他属性 |
[fmt] 的常用代码(包括颜色代码、点形代码、线形代码),由下面的表所示。
颜色:
代码 | 颜色 |
---|---|
‘b’ | 蓝色 |
‘g’ | 绿色 |
‘r’ | 红色 |
‘y’ | 黄色 |
‘k’ | 黑色 |
‘w’ | 白色 |
点形:
代码 | 点形 |
---|---|
‘.’ | 圆点形 |
‘o’ | 实心圆 |
‘*’ | 星号 |
‘+’ | 加号 |
‘x’ | 叉号 |
线形:
代码 | 线形 |
---|---|
‘-’ | 实线 |
‘–’ | 虚线 |
‘-.’ | 折线 |
‘:’ | 点线 |
**Kwargs 的常用设置包括线条的粗细 linewidth,图像标签 label 等。下面一些 plot 函数的代码展示了 [x],[fmt],**Kwargs 的一些可选用法:
>>> plot(x, y) # 根据横坐标数据 x 与纵坐标数据 y 画图,采用默认的颜色、点形与线性
>>> plot(y) # 据纵坐标数据 y 画图,横坐标数据默认为从 0 到 N-1,步长为 1 的等差数组
>>> plot(x, y, 'bo') # 颜色为蓝色('b')、点形为圆('o')
>>> plot(y, 'g-.') # 颜色为绿色('g'),线型为折线('-.')
>>> plt.plot(x, y, 'yo:', label='y=sin(x)', linewidth=2) # 颜色为黄色('y'),点形为圆形('o'),线形为虚线(':'),lable 内容为 'y=sin(x)', 线条宽度为 2
通过设置线型形状,就可以画折线图了。
如果我们想自定义坐标轴的标题,坐标轴的刻度,坐标轴刻度的范围,设置图形标题,添加图例时,可以通过设置 pyplot 函数中的 xlable(横坐标轴标题), ylabel(纵坐标轴标题), xticks(横坐标轴刻度),yticks(纵坐标轴刻度),title(图形标题), grid(显示网格),legend(显示图例)等属性来实现。经过自定义设置,对上图的代码进行一下修改:
import matplotlib.pyplot as plt
import numpy as np# 这两行代码使得 pyplot 画出的图形中可以显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 生成数据
x = np.arange(0, 10, 0.5)
y = np.sin(x)# 生成图形
plt.plot(x, y, 'go:', label='y=sin(x)', linewidth=2) # 颜色绿色,点形圆形,线性虚线,设置图例显示内容,线条宽度为2plt.ylabel('y') # 横坐标轴的标题
plt.xlabel('x') # 纵坐标轴的标题
plt.xticks(np.arange(0, 11, 1)) # 设置横坐标轴的刻度为 0 到 10 的数组
plt.ylim([-2, 2]) # 设置纵坐标轴范围为 -2 到 2
plt.legend() # 显示图例, 图例中内容由 label 定义
plt.grid() # 显示网格
plt.title('我的第一个 Python 图形') # 图形的标题# 显示图形
plt.show()
生成图形:
3. 一张图画好几条线
下表是我国近10年的 GDP 增长率,以及三大产业在近10年的增长率。
时间 | GDP增长率 | 第一产业增长率 | 第二产业增长率 | 第三产业增长率 |
---|---|---|---|---|
2009年 | 9.4 | 4 | 10.3 | 9.6 |
2010年 | 10.6 | 4.3 | 12.7 | 9.7 |
2011年 | 9.6 | 4.2 | 10.7 | 9.5 |
2012年 | 7.9 | 4.5 | 8.4 | 8 |
2013年 | 7.8 | 3.8 | 8 | 8.3 |
2014年 | 7.3 | 4.1 | 7.4 | 7.8 |
2015年 | 6.9 | 3.9 | 6.2 | 8.2 |
2016年 | 6.7 | 3.3 | 6.3 | 7.7 |
2017年 | 6.8 | 4 | 5.9 | 7.9 |
2018年 | 6.6 | 3.5 | 5.8 | 7.6 |
在画图时,横坐标轴数据为年份,纵坐标轴数据分别为 GDP 增长率,第一产业增长率,第二产业增长率,第三产业增长率。为了将四个纵坐标轴数据显示在一个图形上,可以用四个 plot 函数进行划线。Python 画图的代码为:
import matplotlib.pyplot as plt# 这两行代码解决 plt 中文显示的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 输入纵坐标轴数据与横坐标轴数据
gdp_rate = [9.4, 10.6, 9.6, 7.9, 7.8, 7.3, 6.9, 6.7, 6.8, 6.6]
first_industry_rate = [4.0, 4.3, 4.2, 4.50, 3.8, 4.1, 3.9, 3.3, 4.0, 3.5]
second_industry_rate = [10.3, 12.7, 10.7, 8.4, 8.0, 7.4, 6.2, 6.3, 5.9, 5.8]
third_industry_rate = [9.6, 9.7, 9.5, 8.0, 8.3, 7.8, 8.2, 7.7, 7.9, 7.6]
years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018]# 4 个 plot 函数画出 4 条线,线形为折线,每条线对应各自的标签 label
plt.plot(years, gdp_rate, '.-', label='GDP增长率')
plt.plot(years, first_industry_rate, '.-', label='第一产业增长率')
plt.plot(years, second_industry_rate, '.-', label='第二产业增长率')
plt.plot(years, third_industry_rate, '.-', label='第三产业增长率')plt.xticks(years) # 设置横坐标刻度为给定的年份
plt.xlabel('年份') # 设置横坐标轴标题
plt.legend() # 显示图例,即每条线对应 label 中的内容
plt.show() # 显示图形
图形显示效果:
Python 用 matplotlib 中的 plot 画图,折线图相关推荐
- 使用python的matplotlib(pyplot)画折线图和柱状图
使用python的matplotlib(pyplot)画折线图和柱状图 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的 ...
- python数据处理+matplotlib可视化(柱状图、折线图、表格)
本文章涉及Python读取并处理Excel数据,pandas数据处理转化,matplotlib汇总柱状图.折线图,表格.双y轴柱状+折线图 . 一.首先导入相关的包 #导入相关的包 import nu ...
- Python:Matplotlib库绘制散点图和折线图
一.基础散点图 Matplotlib绘制散点图主要使用matplotlib.pyplot类中的scatter函数,其详细的用法参考官方文档,这里附上链接:Matplotlib官方文档.接下来将介绍如何 ...
- python画图程序没有图_解决python中使用plot画图,图不显示的问题
解决python中使用plot画图,图不显示的问题 对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'K ...
- matplotlib.pyplot常用画图方式函数封装(一)——.plot绘制折线图及设置坐标轴箭头完美解决
matplotlib.pyplot常用画图方式函数封装(一)--.plot绘制折线图及设置坐标轴箭头完美解决 py.plot常见绘图设置函数封装 绘制函数图像(完美解决坐标轴添加箭头) 绘制折线图 p ...
- python plot 增加标记线,matplotlib初学:这样画折线图和添加标注、箭头
原标题:matplotlib初学:这样画折线图和添加标注.箭头 用matplotlib 画折线图,一般使用plt.plot函数,它的具体格式为: plt.plot(x,y1, '颜色线条') 默认线条 ...
- python如何绘制曲线图_python pandas plot画折线图如何显示x轴的值?
在使用python pandas Series plot画折线图时,不知道该如何显示x轴的值. 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- python使用matplotlib中的errorbar函数可视化误差条、并自定义数据点标记、数据点大小、数据点颜色、数据点边缘颜色、误差棒颜色、误差棒线条宽度、误差棒边界线长度、误差棒边界线厚度等
python使用matplotlib中的errorbar函数可视化误差条.并自定义数据点标记.数据点大小.数据点颜色.数据点边缘颜色.误差棒颜色.误差棒线条宽度.误差棒边界线长度.误差棒边界线厚度等 ...
- Python读取excel/csv表格并通过折线图可视化显示
Python读取excel/csv表格并通过折线图可视化显示 写作背景 参数 使用figure()函数重新申请一个figure对象 注意,每次调用figure的时候都会重新申请一个figure对象 第 ...
最新文章
- Oracle 通用查询:表、字段、表说明、所有用户、库版本
- Mastering the Java CLASSPATH
- python:字符串常用处理函数:
- php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
- [react] 展示组件和容器组件有什么区别?
- python99乘法表while翻译_Python学习之while练习--九九乘法表
- 计算机行政考试题库,2014香港特别行政区计算机等级考试试题 二级ACCESS考试题库...
- MyEclipse报Errors occurred during the build. 异常
- “git push”后返回“Error 403”解决方法
- python线程池回调函数_python回调函数中使用多线程的方法
- ubuntu 配置桥接网卡_KVM之配置桥接网卡
- linux查看php执行用户,在浏览器中打开php文件时,是Linux中的哪个用户执行的?...
- POP介绍与使用实践(快速上手动画)
- Java类装载器(Classloader)机制解析整理
- fibonacci数列java大赛_斐波那契数列 java 解法
- mysql主从复制报错:the master has purged binary logs containing GTIDs that the slave requires
- 博观约取 和实生物----张铜彦先生的魏碑情结
- 根据checkBox的状态,控制按钮可否点击。不可点击置灰
- 秋招-滴滴-网约车技术-java开发
- [运放滤波器]5_滤波器的分类