首页 > 技术文章 > Matplotlib

Treelight 2020-02-22 01:40 原文

简介

Matplotlib是一个强大的Python绘图和数据可视化的工具包。
安装方法:pip install matplotlib
导入方法:import matplotlib.pyplot as plt

折线图的绘制

使用一般有两个步骤
一、绘制图像:plt.plot()
二、显示图像:plt.show()
显示图像没什么好说的,重点是绘制图像

绘制图像

方式一、plt.plot()这个函数,必须要传Y轴的数据(列表或数组的形式),也可以指定线型、点型和颜色,有两种方式(请看下面例子)。
线型linestyle(-,-.,--..)
点型marker(v,^,s,*,H,+,x,D o,...)
颜色color(b,g,r,y,k,w...)
例子如下:

from matplotlib import pyplot as plt

# plt.plot([6, 8, 10, 15], [1, 3, 8, 6])  # 必须要指定Y轴的数据
# 设定线条样式方式一
# plt.plot([6, 8, 10, 15], [1, 3, 8, 6], '*--b')  # 指定了点型线型和颜色
# 设定线条样式方式二
# plt.plot([6, 8, 10, 15], [1, 3, 8, 6], marker='*', linestyle='--', color='#000000')  # 和上面效果一样,只是颜色可用十六进制
plt.show()

方式二、由于pandas包对plot的支持,也可以pandas对象.plt()即可

df = pd.read_csv('BHP1.csv', parse_dates=['date'], index_col='date')
df = df.loc[:, 'Open':'Low']
df.plot()
plt.show()

同时也可以设定图像标,在以上调用了plot函数后执行,如
设置图像标题:plt.title(名称)
设置X轴名称:plt.xlabel()
设置Y轴名称:plt.ylabel()
设置X轴范围:plt.xlim(起始,结束)
设置Y轴范围:plt.ylim(起始,结束)
设置X轴刻度:plt.xticks(列表或数组)
设置Y轴刻度:plt.yticks(列表或数组)
设置曲线图例:plt.legend(),一般结果调用plot函数设置的label参数用,如下:

plt.plot([6, 8, 10, 15], [1, 3, 8, 6], label='1111')
plt.plot([6, 8, 10, 15], [6, 8, 10, 15], label='2222')
plt.legend()
plt.show()

例子:使用Matplotlib模块在一个窗口中绘制数学函数y=x,y=x2,y=3x3+5x**2+2x+1的图像,使用不同颜色的线加以区别,并使用图像说明名个线代表什么函数

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(100, -100, 100000)
# 画y=x
plt.plot(x, x)
# 画y=x**2
plt.plot(x, x ** 2)
plt.plot(x, 3 * x ** 3 + 5 * x ** 2 + 2 * x + 1)
plt.ylim(-100, 100)
plt.xlim(-100, 100)
plt.show()

柱形图

直接上例子
import matplotlib.pyplot as plt

data = [32, 48, 21, 100]
labels = ['Jan', 'Feb', 'Mar', 'Apr']
plt.bar(range(len(data)), data)
plt.xticks(range(len(data)), labels)
plt.show()

饼图

import matplotlib.pyplot as plt

# autopct设置显示的百分比格式,explode设置突出显示
plt.pie([10, 20, 30, 40], labels=['a', 'b', 'c', 'd'], autopct='%.2f%%', explode=[0.1, 0, 0.2, 0])
plt.axis('equal')  # 平视
plt.show()

推荐阅读