一、绘制PDF/CDF图
1. 绘制CDF图的示例代码
import numpy as np
import matplotlib.pyplot as plt
# 随机生成10000个数字列表data(μ=0,σ=1的正态分布)
data = np.random.normal(0, 1, 10000)
fig = plt.figure(figsize = (10, 8))
# 设置标题
plt.title("CDF图")
# 绘制CDF图(cumulative = True);cumulative = False时绘制PDF图
plt.hist(data, bins = 100, cumulative = True, density=True)
plt.show()
2. 绘制的图

3. plt.hist函数参数:
def hist(
x, bins=None, range=None, density=False, weights=None,
cumulative=False, bottom=None, histtype=‘bar‘, align=‘mid‘,
orientation=‘vertical‘, rwidth=None, log=False, color=None,
label=None, stacked=False, *, data=None, **kwargs)
用到的几个参数名 |
取值范围和含义 |
x |
就是要绘制的数据,是个一维数据 |
bins |
感觉是直方图的柱柱数目,数据多柱柱也多就看起来平滑点 |
density |
True:归一化;默认值False |
cumulative |
默认值False:PDF图;True:CDF图 |
二、绘制三维图(将矩阵绘制成图)
1. 绘制三维图的示例代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 随机生成100*200的矩阵,值的范围0~10
Z = np.random.randint(0, 10, (100, 200))
size = Z.shape
Y = np.arange(0, size[0], 1)
X = np.arange(0, size[1], 1)
X, Y = np.meshgrid(X, Y)
fig = plt.figure(figsize=(12, 10))
ax = fig.gca(projection=‘3d‘)
# 设置标题和三个轴的名称
ax.set_title(‘三维图绘制‘)
ax.set_xlabel(‘X轴‘)
ax.set_ylabel(‘Y轴‘)
ax.set_zlabel(‘Z轴‘)
# 绘制散点图
ax.scatter3D(X, Y, Z, s=20, c=X)
plt.show()
2. 绘制的图(随机生成的数据,图中点的分布就比较均匀)

3. ax.scatter3D函数常用几个参数说明
用到的几个参数名 |
取值范围和含义 |
X, Y, Z |
就是要绘制的数据,Z是个二维矩阵;X,Y根据代码中进行设置就行 |
s |
size,散点图中点的大小 |
c |
color,颜色,样例中是根据X轴的数据变化进行着色;也可以直接设置成‘green’等颜色,就是整个图只有一个颜色了 |
python用matplotlib绘图
原文:https://www.cnblogs.com/doubleyue/p/14859162.html