#生成随机数
np.random.seed(1000)
y = np.random.standard_normal(20)
x = range(len(y))
#用y逐个相加绘图
plt.plot(y.cumsum())
#加紧凑坐标轴
plt.grid(True)
##添加网格线
plt.axis('tight')
#加坐标轴名字,标题
plt.xlabel('A')
plt.ylabel('B')
#解决中文名显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title('第四章绘图')
#可以用plt.xlim()限制坐标轴限制
plt.xlim(a,b)
plt.ylim(a,b)
#可以设置绘图线条和点样式
plt.plot(y.cumsum(),'b',lw=1.5)#蓝色,线宽1.5
plt.plot(y.cumsum(),'ro')#红色圆点
代表字符 | 颜色和样式 |
---|---|
- | 实线 |
– | 短划线 |
-. | 点实线 |
: | 虚线 |
. | 点标记 |
, | 像素标记 |
o | 圆标记 |
v | 向下三角形 |
^ | 向上三角形 |
< | 左上三角形 |
1 2 3 4 | 向 下 上 左 右 三角形指示 |
s | 方向 |
p | 五边形 |
* | 星号 |
h | 六角标志1 |
H | 六角标志2 |
+ | 加号 |
x | 叉 |
D | 菱形 |
d | 细菱形 |
竖线 | 垂直 |
在一幅图里用不同的刻度或者可视化方式(折线图和柱状图)展示数据。
np.random.seed(2000)
y = np.random.standard_normal((20,2))
print(y)
print(y.cumsum(axis=0))
#生成20组二维随机数组,之后再按组加和
#(a,b),(c,d)...... = (a,b),(a+c,b+d)......
plt.figure(figsize=(7,4))
plt.plot(y,lw=1.5)
plt.plot(y,'ro')
plt.grid(True)
plt.axis('tight')
plt.xlable('X-axis')
plt.ylable('Y-axis')
plt.title('二维数据绘图')
##也可以分开两维命名然后做注释
plt.plot(y[:,0],lw=1.5,label='第一维')
plt.plot(y[:,1],lw=1.5,label='第二维')
#y[:,0]代表纵向所有内容,横向只有第一维
plt.title('二维数据绘图')
##分左右两个纵坐标轴绘图
fig,ax1=plt.subplots()
plt.plot(y[:,0],'b',lw=1.5,label='第一维')
plt.legend(loc=8)
plt.axis('tight')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('二维数据绘图')
ax2=ax1.twinx()
plt.plot(y[:,1]*100,'r',lw=1.5,label='第二维')
plt.grid(True)
plt.legend(loc=0)
##关键语法
fig,ax1=plt.subplots()
ax2=ax1.twinx()
###分子图绘制两组数据
plt.figure(figsize=(8,5))###关键语法
plt.subplot(211)###关键语法
plt.plot(y[:,0],'b',lw=1.5,label='第一维')
plt.legend(loc=8)
plt.axis('tight')
plt.ylabel('Y-axis')
plt.title('二维数据绘图')
plt.subplot(212)###关键语法
plt.plot(y[:,1]*100,'r',lw=1.5,label='第二维')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.grid(True)
plt.legend(loc=0)
##可以把第二张图改成柱状图,变成两幅不同类别子图合集
##注意颜色参数声明参数名字
plt.bar(np.arange(len(y)),y[:,1]*100,
color ='r',width=0.5,label='第二维')
##用scatter画散点图,在加入第三维,用颜色表示
c = np.random.randint(0,10,len(y))
plt.scatter(y[:,0],y[:,1],c=c,marker='o')
plt.colorbar()
print(len(y))