matplotlib必知的15个图,小知识系列

今天是讨论matplotlib绘图的最后一篇,这次以案例和代码为主

需要导入的模块,matplotlib绘图,numpy几乎是必用的包。

# 导入numpy模块
import numpy as np
# 导入pyplot模块
import matplotlib.pyplot as plt

案例1基本折线图

# 创建序列[1,2,3,...,99]
X = range(100)
# X中元素依次取平方
Y = [value ** 2 for value in X]
plt.plot(X, Y)
plt.show()

在这里插入图片描述

案例2正弦图

# [0,2PI)分割为100份
X = np.linspace(0, 2 * np.pi, 100)
# 计算正弦值
Y = np.sin(X)
plt.plot(X, Y)
plt.show()

在这里插入图片描述

例3正弦和余弦图

X = np.linspace(0, 2 * np.pi, 100)
Ya = np.sin(X)
# 计算余弦值
Yb = np.cos(X)
plt.plot(X, Ya)
plt.plot(X, Yb)
plt.show()

在这里插入图片描述

码字不易废话两句:有需要python学习资料的或者有技术问题交流 “点击”即可

案例4 曲线

def plot_slope(X, Y):
    # 计算x方向相邻元素的delta
    Xs = X[1:] - X[:-1]
    # y方向delta
    Ys = Y[1:] - Y[:-1]
    plt.plot(X[1:], Ys / Xs)

X = np.linspace(-3, 3, 100)
Y = np.exp(-X ** 2)
plt.plot(X, Y)
plot_slope(X, Y)
plt.show()

在这里插入图片描述

案例5读入数据文件

数据文件my_data.txt 为:

0           0
1           1
2           4
4           16
5           25
6           36
X, Y = [], []
# 按行读入txt文件
for line in open('my_data.txt', 'r'):
    # 得到一对(x,y)坐标
    values = [float(s) for s in line.split()]
    X.append(values[0])
    Y.append(values[1])

plt.plot(X, Y)
plt.show()

在这里插入图片描述

案例6散点图
1024个随机点的散点图

# 随机生成1024行2列的数据,就是1024个点(x,y)
data = np.random.rand(1024, 2)
# 绘制散点图
plt.scatter(data[:, 0], data[:, 1])
plt.show()

在这里插入图片描述

案例7 柱状图

data = [5., 25., 50., 20.]
plt.bar(range(len(data)), data, width=0.5)
plt.show()

在这里插入图片描述

案例8 水平柱状图

data = [5., 25., 50., 20.]
plt.barh(range(len(data)), data)
plt.show()

在这里插入图片描述

案例9 系列柱状图

import numpy as np
import matplotlib.pyplot as plt

data = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]

X = np.arange(4)

plt.bar(X + 0.00, data[0], color='b', width=0.25)
plt.bar(X + 0.25, data[1], color='g', width=0.25)
plt.bar(X + 0.50, data[2], color='r', width=0.25)

plt.show()

在这里插入图片描述

案例10stacked 柱状图

A = [5., 30., 45., 22.]
B = [5., 25., 50., 20.]
X = range(4)
plt.bar(X, A, color='b')
plt.bar(X, B, color='r', bottom=A)

plt.show()

在这里插入图片描述

案例11 背靠背水平柱状图

women_pop = np.array([5., 30., 45., 22.])
men_pop = np.array([5., 25., 50., 20.])
X = np.arange(4)

plt.barh(X, women_pop, color = 'r')
plt.barh(X, -men_pop, color = 'b')
plt.show()
X = np.arange(4)

plt.barh(X, women_pop, color='r')
plt.barh(X, -men_pop, color='b')

plt.show()

在这里插入图片描述

案例12 饼状图

data = [5, 25, 50, 20]
plt.pie(data)

plt.show()

在这里插入图片描述

例13 直方图

X = np.random.randn(1000)
plt.hist(X, bins=20)

plt.show()

在这里插入图片描述

以上直方图描述了20个区间内,点数的频次。

案例14 箱形图

data = np.random.randn(100, 5)
plt.boxplot(data)

plt.show()

在这里插入图片描述

箱形图中红线表示中位数,往下线是1/4分位数,往上线是3/4分位数,再往下延伸线的长度等于2倍的(上分位数-下分位数),圆圈表示异常点。

案例15triangulation

import matplotlib.tri as tri
data = np.random.rand(100, 2)
triangles = tri.Triangulation(data[:, 0], data[:, 1])
plt.triplot(triangles)

plt.show()

在这里插入图片描述

这15个图是最最基本的matplotlib绘图,是不能再精简的了,使用尽可能少的代码绘图,方便初学的读者入门。

以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴 " 点击 " 即可领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值