Matplotlib⼊门(50题)
简介
Matplotlib 可能是 Python 2D-绘图领域使⽤最⼴泛的套件。它可与 NumPy ⼀起使⽤,提供了⼀种有效的 MatLab 开源替代⽅案,也可以和图形⼯具包⼀起使⽤。它能让使⽤者很轻松地将数据图形化,可以说是现在 python 数据分析中,⽤的⼈最多的图形库了。
⼀、导⼊
1.导⼊Matplotlib 库简写为 plt
import matplotlib.pyplot as plt
import numpy as np
⼆、基本图标
2.⽤ plot ⽅法画出 x=(0,10)间 sin 的图像
x = np.linspace(0, 10, 30)
plt.plot(x, np.sin(x));
3.⽤点加线的⽅式画出 x=(0,10)间 sin 的图像
plt.plot(x, np.sin(x), '-o');
4.⽤ scatter ⽅法画出 x=(0,10)间 sin 的点图像
plt.scatter(x, np.sin(x));
5.⽤饼图的⾯积及颜⾊展⽰⼀组 4 维数据
rng = np.random.RandomState(0)
x = rng.randn(100)
y = rng.randn(100)
colors = rng.rand(100)
sizes = 1000 * rng.rand(100)
plt.scatter(x, y, c=colors, s=sizes, alpha=0.3, cmap='viridis')
6.绘制⼀组误差为 ±0.8 的数据的误差条图
x = np.linspace(0, 10, 50)
dy = 0.8
y = np.sin(x) + dy * np.random.randn(50)
<Container object of 3 artists>
7.绘制⼀个柱状图
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
label=['A','B','C','D','E','F','G','H']
plt.bar(x,y,tick_label = label);
8.绘制⼀个⽔平⽅向柱状图
plt.barh(x,y,tick_label = label);
9.绘制 1000 个随机值的直⽅图
data = np.random.randn(1000)
plt.hist(data);
10.设置直⽅图分 30 个 bins,并设置为频率分布
plt.hist(data, bins=30,histtype='stepfilled', density=True) plt.show();
11.在⼀张图中绘制 3 组不同的直⽅图,并设置透明度
x1 = al(0, 0.8, 1000)
x2 = al(-2, 1, 1000)
x3 = al(3, 2, 1000)
kwargs = dict(alpha=0.3, bins=40, density = True)
plt.hist(x1, **kwargs);
plt.hist(x2, **kwargs);
plt.hist(x3, **kwargs);
12.绘制⼀张⼆维直⽅图
mean = [0, 0]
cov = [[1, 1], [1, 2]]
x, y = np.random.multivariate_normal(mean, cov, 10000).T plt.hist2d(x, y, bins=30);
13.绘制⼀张设置⽹格⼤⼩为 30 的六⾓形直⽅图
plt.hexbin(x, y, gridsize=30);
三、⾃定义图表元素
14.绘制 x=(0,10)间 sin 的图像,设置线性为虚线
x = np.linspace(0,10,100)
plt.plot(x,np.sin(x),'--');
15.设置 y 轴显⽰范围为(-1.5,1.5)
x = np.linspace(0,10,100)
plt.plot(x, np.sin(x))
plt.ylim(-1.5, 1.5);
16.设置 x,y 轴标签 variable x,value y
x = np.linspace(0.05, 10, 100)
y = np.sin(x)
plt.plot(x, y, label='sin(x)')matplotlib中subplot
plt.xlabel('variable x');
plt.ylabel('value y');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论