plt.scatter(x, y,s=, c=20, '#ff0000', marker='o', cmap=, norm=,
vmin=, vmax=, alpha=, linewidths=, verts=, edgecolors=,data=)
x,y | 需要绘制的点 |
---|---|
c | 点的颜色,可以直接填单色,也可以是一个数组,数组映射于cmap中的颜色。若c=’’,则为透明 |
s | 点的大小,可以是一个数字,也可以是一个数组,即每个点有对应大小 |
marker | 点的形状,一共有这些选项(‘o’, ‘v’, ‘^’, ‘<’, ‘>’, ‘8’, ‘s’, ‘p’, ‘*’, ‘h’, ‘H’, ‘D’, ‘d’, ‘P’, ‘X’) |
cmap | 需要映射的颜色 |
edgecolors | 绘制点的边缘色。一般在c=’'时,设置边缘的可绘制空心圆 |
1) 方法一
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
plt.ion()
try:
ax.lines.remove(line[0])
except Exception:
pass
lines = ax.plot(x_date, y_date, 'r-', lw=5) #可以在这之前更新x_data和y_data的数据
plt.pause(0.1) #绘图暂停0.1s
plt.pause(0) #防止图片自动关闭
2) 方法二
from matplotlib.animation import FuncAnimation
fig = plt.figure()
ax = fig.add_subplot()
xdata, ydata = [],[]
ln, = ax.plot([], [], animated=False) #注意返回的ln后面有的',',ln是在FuncAnimation中的一条线索
def init():
ax.set_xlim() 等初始化
return ln
def update(n):
# 可以根据传入的n来更新xdate,ydate
ln.set_data(xdata, ydata)
return ln
ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 10), init_func=init, blit=True)
plt.show()
# 其中:
FuncAnimation(fig, func, frames, init_func, interval, blit)
# fig:绘制动图画布的名称
# func:自定义的运动函数,也是更新函数
# frames:动画长度,整个动画中所有的帧数,在函数运行的时候,其值会传递给上面的函数
# init_func:初始化函数,自定义起始帧,也就是最开的画面,
# interval:更新频率,单位ms
# bit:为True则只更新改变了的值,为False更新所有值
plt.figure(figsize=(5,5), dpi=40) #可选。为将要创建的画板(即窗口)设置大小,figsize=(宽度,高度),dpi=像素点大小
plt.figure(1) #创建第1块画板
ax1 = plt.subplot(211) #将第1块画板划分为2行1列组成的区块,并获取到第1块区域
plt.xxx() #在该区域画图
# 如果ax1的创建采用fig = plt.figure(1)
# ax1 = fig.add_subplot(211),那么可以用ax1.xxx()的方式画图,因为add_plot是面向对象
ax2 = plt.subplot(212) #将第1块画板划分为2行1列组成的区块,并获取到第2块区域
plt.xxx() #在该区域画图
plt.figure(figsize=(5,5), dpi=40) #可选
plt.figure(2) #创建第2块画板
plt.xxx() #在该区域画图
plt.figure(1) #切换到第1块画板
ax1.xxx() #继续操作对应的区域
plt.show()
X、Y:是需要绘制的点,可以用 np.mgrid[1:3:3j, 4:6:3j] 生成;
Z:是对应点的标签,标签中值的范围映射于cmap属性中颜色变化的范围;
cmap:是显示的颜色,可以为渐变色,也可以为几种单色
cm有两种获取方式:
1) 方法一
cm = plt.cm.get_cmap('rainbow')
这里的rainbow是渐变色,颜色的选取可以参考官网
2) 方法二
import matplotlib as mpl
cm = mpl.colors.ListedColormap(['#A0FFA0', '#FFA0A0', '#A0A0FF']) #这里是三种单色
cm = mpl.colors.ListedColormap(['g', 'r', 'b']) #
参数:
n | 将要采集数据点的个数,默认为1,如果为负值时,如-1,将不限制个数 |
---|---|
timeout | 时间停留限制,默认为30s |
show_clicks | 显示点击的点,默认为True |
mouse_add | 鼠标左键点击增加点,默认值为1 |
mouse_pop | 鼠标右键点击删除点,默认值为3 |
mouse_stop | 鼠标中健点击结束采样, 默认值为2 |
例:
data = plt.ginput(-1)
print(data)
plt.show()
# plt.show() 会抢先执行,也就是会显示出画布之后,再用plt.ginput收集数据,收集完后,会执行它后面的语句。
点 | ‘#ff0000’, ‘#e100de’, ‘#00e11a’, |
---|---|
‘#e1de00’, ‘#00d9e1’, ‘#0060ff’ | |
背景 | ‘#5a0000’, ‘#60005f’, ‘#005a0a’, |
‘#575600’, ‘#005457’, ‘#002460’ |
num = mnist.train.images[0] #num为 ‘长x宽’的二维数组
plt.imshow(num) #热成像,num中每一个元素的数字对应着某种颜色
#plt.imshow(num, vmin=0, vmax=1, cmap='gray') 设置颜色映射的上下限,cmap设成gray就是灰度显示,否则默认热度显示
plt.show()