知行编程网知行编程网  2022-12-15 17:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于利用Python的Matplotlib库进行数据可视化的相关知识,希望可以帮到处于编程学习途中的小伙伴

Matplotlib 是一个用于科学计算中数据可视化的 Python 工具箱。有了它,Python可以绘制Matlab、Octave等多种数据图形。最初模仿Matlab的图形命令,但独立于Matlab。

使用 Python 的 Matplotlib 库进行数据可视化

通过Matplotlib中简单的接口可以快速的绘制2D图表


初试Matplotlib

Matplotlib中的pyplot子库提供了和matlab类似的绘图API.

代码如下:

import matplotlib.pyplot as plt #导入pyplot子库
plt.figure(figsize=(8, 4)) #创建一个绘图对象, 并设置对象的宽度和高度, 如果不创建直接调用plot, Matplotlib会直接创建一个绘图对象
plt.plot([1, 2, 3, 4]) #此处设置y的坐标为[1, 2, 3, 4], 则x的坐标默认为[0, 1, 2, 3]在绘图对象中进行绘图, 可以设置label, color和linewidth关键字参数
plt.ylabel('some numbers') #给y轴添加标签, 给x轴加标签用xlable
plt.title("hello"); #给2D图加标题
plt.show() #显示2D图


基础绘图


绘制折线图

与所选点的坐标有关

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
plt.plot(x, y, '-*r') # 虚线, 星点, 红色
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()

更改线的样式查看plot函数参数设置


多线图

只需在plot函数中传入多对x-y坐标即可绘制多条线

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.plot(x, y, '--*r', x, z, '-.+g')
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.title("hello world")
plt.show()


柱状图

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.bar(x, y)
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()


子图

subplot() 函数指定 numrows 行数、numcols 列数和 fignum 图数。图的个数不能超过行数和列数的乘积

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.figure(1)
plt.subplot(211)
plt.plot(x, y, '-+b')
plt.subplot(212)
plt.plot(x, z, '-.*r')
plt.show()


文本添加

当需要调整图片上的价格文字时,需要用到text()函数,还有xlabel()、ylabel()、title()函数

text()函数返回matplotlib.text.Text, 函数详细解释

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
plt.plot(x, y, '-.*r') 
plt.text(1, 2, "I'm a text") //前两个参数表示文本坐标, 第三个参数为要添加的文本
plt.show()


图例简介

legend()函数实现图例功能,它有两个参数,第一个是样式对象,第二个是描述字符

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
line_up, = plt.plot([1,2,3], label='Line 2')
line_down, = plt.plot([3,2,1], label='Line 1')
plt.legend(handles=[line_up, line_down])
plt.show()

或者调用set_label()添加图例

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
line, = plt.plot([1, 2, 3])
line.set_label("Label via method")
plt.legend()
plt.show()

同时对多条先添加图例

代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt 
line1, = plt.plot([1, 2, 3])
line2, = plt.plot([3, 2, 1], '--b')
plt.legend((line1, line2), ('line1', 'line2'))
plt.show()

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享