python数据分析-matplotlib折线图知识总结01

Posted Transcend oneself

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据分析-matplotlib折线图知识总结01相关的知识,希望对你有一定的参考价值。

python绘图库matplotlib的知识总结

一.matplotlib是什么

matplotlib是一个python内置的绘图库,它主要是把我们处理的数据,通过可视化的形式展示出来
主要用于做可视化的图表,是模仿于matlab构建的

二.matplotlib的安装与导入

首先matplotlib的安装可以直接在pycharm编译器终端输入(pip install matplotlib)
但是我们按照上面的方式安装可能会导致安装的速度很慢,在此我们可以使用镜像源
进行模块的安装
镜像源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
先在终端配置这个pip设置,这算一个永久的镜像源,配置之后,你输入上面
(pip install matpltlib)下载模块就不会因为限速而导致下载慢的问题

导入matplotlib

from matploltlib import pyplot as plt

三.matplotlib的常用函数

plt.title()添加标题
plt.text()在任意位置添加文本
plt.annotate()在任意位置增加带箭头的注释文本

plt.annotate()有哪些参数
1.要显示的文本
2.xy传入(2,3)箭头所指向的坐标点位置
3.xytext传入文本显示的位置也是坐标
4.arrowprops传入字典类型的数据,数据内容是给箭头设置的一些属性

from matplotlib import pyplot as  plt
import matplotlib

font = 'Microsoft Yahei'
# 显示大学生10天每天的消费金额
x = range(1, 11)  #
y = [23, 25, 25, 23, 26, 28, 30, 80, 21, 19]

plt.plot(x, y, label='科师大')
plt.xlabel('天数(单位: 天)', fontproperties=font)
plt.ylabel('消费额(单位: 元)', fontproperties=font)
plt.title('大学生10天的消费额', fontproperties=font)

plt.annotate(
    '超额消费',
    xy=(8, 80),
    xytext=(9, 80),
    arrowprops=dict(facecolor='red', shrink=0.1, width=2),
    # facecolor箭头颜色 shrink 箭头起始和结束位置两侧的空白大小 width箭头宽度
    fontproperties=font
)

plt.show()

四.matplotlib绘制折线图的使用方法

1.设置图形大小

两个参数,一个图片大小,第二个是图片的分辨率

plt.figure(figsize=(20, 8), dpi=80)

2. 利用数据绘图


通过查看plot的内部实现可以看到plot里面参数可以有(横坐标数据)和纵坐标数据它们是列表的类型,元素必须一样多,一一对应,然后可以设置线条的颜色,粗细,以及线条样式等等

plt.figure(figsize=(20, 8), dpi=80)
x = [0, 2, 4, 6, 8]
y = [1, 5, 3, 9, 7]
plt.plot(x, y)

3.调整x,y轴的刻度,旋转角度,显示描述信息,绘制网格,添加图例

调整刻度是因为我们的刻度太密,导致我们的刻度下方的刻度值显示不完整,使得我们的观赏性不好,那么这个时候就可以使用我们的调整刻度的功能,使得我们绘制的图更清晰明了

旋转角度也是为了美观,旋转角度都是使用rotation这个参数进行设置.描述信息就是指定x,y轴所代表的是什么,使得图例更完整 如果直接添加的话,信息描述是不能显示的,这个时候我们就需要导入matplotlib,然后通过matplotlib中的rcparams进行设置,当然还可以直接选择一种微软自带的字体

图例:就是当你要在一个绘制区域绘制两个及两个以上的图的时候,需要通过图列分辨哪根线代表的是什么,然而这里也需要中文显示,但是这里的中文显示和前面描述信息的中文显示传参略有不同,它只需要使用prop进行传参就好了,当然我们还可以设置图例的位置
图例的位置传一个loc的参数

from matplotlib import pyplot as  plt
import random
import matplotlib

# 选择一种字体
my_font = 'Microsoft Yahei'

# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)
x = [range(120)]
y = [random.randint(20, 35) for i in range(120)]

plt.plot(x, y,label='两小时的体温变化')

# 调整x的尺度
_xtick_labels = [f"10点i分" for i in range(60)]
_xtick_labels += [f"11点i分" for i in range(60)]

plt.xticks(x[::3], _xtick_labels[::3],my_font)

#绘制网格
plt.grid(alpha = 0.1)#参数是透明度的设置0-1(1代表完全显示)

#添加图例
plt.legend(prop=my_font)


# 添加描述信息
plt.xlabel('时间', fontpropertiese=my_font)
plt.ylabel('温度 单位(℃)', fontpropertiese=my_font)
plt.title('10点到12点每分钟的气温变化情况', fontpropertiese=my_font)

4.图形的样式

color 设置线条的颜色
linestyle 线条的样式
alpha设置网格的透明度
linewidth 线条得粗细

5.绘制多条折线

from matplotlib import pyplot as plt
import matplotlib

x1 = [51, 73, 5, 34, 69, 11]
y1 = [52, 23, 16, 32, 76, 32]
x2 = [12, 45, 67, 78, 89, 45]
y2 = [34, 6, 21, 67, 34, 89]
plt.plot(x1, y1,label="三校一班")
plt.plot(x2, y2,label="三校二班")
plt.xlabel('身高',fontproperties='SimHei')
plt.ylabel('体重',fontproperties='SimHei')
plt.title('中学生体检',fontproperties='SimHei')
plt.legend(prop='SimHei')
plt.show()


当然此处还可以通过plot()传参facecolor=red 进行折线图背景的修改

6.显示绘制的图

plt.show()

四.总结:

利用matplotlib绘制折线图,主要用折线图的形式反应自变量和因变量之间的关系,进而反应事物的变化情况

Python中使用matplotlib 如何绘制折线图?

 

本文和大家分享的主要是python开发中matplotlib 绘制折线图相关内容,一起来看看吧,希望对大家学习和使用这部分内容有所帮助。
matplotlib
1、安装matplotlib
① linux系统安装
安装matplotlib模块
$ sudo apt-get install python3-matplotlib# 如果是python2.7 执行如下命令
$ sudo apt-get install python-matplotlib# 如果你安装较新的Python,安装模块一乐的一些库
$ sudo apt-get install python3.5-dev python3.5-tk tk-dev
$ sudo apt-get install libfreetype6-dev g++# 再使用pip来安装模块
$ pip install --user matplotlib
② OS系统中安装
安装matplotlib模块
$ pip install --user matplotlib
③ windows系统中安装
安装matplotlib模块
$pip3 install matplotlib
进入终端执行import matplotlib 不报错表示执行成功
2、绘制简单的折线图
① 创建mpl_squares.py文件:
import matplotlib.pyplot as plt     # 导入模块
squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值,X坐标为列表下标
plt.plot(squares)           # 传入列表
plt.show()                  # 输出图像
绘图:
 
    ② 修改标签文字和线条粗细:
import matplotlib.pyplot as plt     # 导入模块
squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值,X坐标为列表下标
plt.plot(squares,linewidth=5)           # linewidth决定绘制线条的粗细
plt.title(’Square Numbers’,fontsize=24)     # 标题
plt.xlabel(’Vaule’,fontsize=14)
plt.ylabel(’Square of Vaule’,fontsize=14)
plt.tick_params(axis=’both’,labelsize=14)      # 刻度加粗
plt.show()                  # 输出图像
绘图:
 
   ③ 校正图形(设定X坐标):
import matplotlib.pyplot as plt     # 导入模块
squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值
input_values = [1,2,3,4,5]
plt.plot(input_values,squares,linewidth=5)           # linewidth决定绘制线条的粗细
plt.title(’Square Numbers’,fontsize=24)     # 标题
plt.xlabel(’Vaule’,fontsize=14)
plt.ylabel(’Square of Vaule’,fontsize=14)
plt.tick_params(axis=’both’,labelsize=14)      # 刻度加粗
plt.show()                  # 输出图像
绘图:
 
3、绘制散点图
① 创建scatter_sqares.py:
import matplotlib.pyplot as plt
plt.scatter(2,4,s=200)      #X坐标2Y坐标4 S=200 点大小
plt.title(’Square Numbers’,fontsize=24)     # 标题
plt.xlabel(’Vaule’,fontsize=14)
plt.ylabel(’Square of Vaule’,fontsize=14)
plt.tick_params(axis=’both’,labelsize=14)      # 刻度加粗
plt.show()                  # 输出图像
绘图:
 
   ② 绘制一系列点:
import matplotlib.pyplot as plt
x_values = [1,2,3,4,5]      # 指定X
y_values = [1,4,9,16,25]        # 指定Y
plt.scatter(x_values,y_values,s=100)
--snip---
plt.show()                  # 输出图像
绘图
 
来源:博客园

以上是关于python数据分析-matplotlib折线图知识总结01的主要内容,如果未能解决你的问题,请参考以下文章

Python使用matplotlib函数subplot可视化多个不同颜色的折线图自定义数据点的形状自定义折线图的颜色

(数据分析三板斧)第三斧Matplotlib-第二节:以绘制折线图为例讲解Matplotlib绘图

python使用matplotlib可视化堆积的折线图使用stackplot函数可视化堆积的折线图不同数据在垂直方向堆叠

Python中matplotlib绘制折线图方法总结

Python使用matplotlib函数subplot可视化多个不同颜色的折线图在折线图上为每个数据点添加日期数据标签

matplotlib折线图