#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 18/2/26 下午12:52

# @Author : AlexZ33

# @File :

# @Desc :

import numpy as np

import matplotlib

import matplotlib.pyplot as plt

import matplotlib.font_manager as fm

from mpl_toolkits.mplot3d import Axes3D

# 解决中文乱码问题

myfont = fm.FontProperties(fname='/home/zk/study/python_lessions/DataVisualiztion/Library/Fonts/simsun.ttc', size=14)

matplotlib.rcParams["axes.unicode_minus"] = False

def simple_plot():

"""

simple plot

:return:

"""

#生成画布

plt.figure(figsize=(8,6), dpi=80)

#打开交互模式

plt.ion()

# 循环

for index in range(100):

#清除原有图像

plt.cla()

#设定标题等

plt.title("动态曲线图",fontproperties=myfont)

plt.grid(True)

#生成测试数据

x = np.linspace(-np.pi + index, np.pi+0.1*index, 256,endpoint=True)

y_cos, y_sin = np.cos(x),np.sin(x)

# 设置x轴

plt.xlabel("x轴", fontproperties= myfont)

plt.xlim(-4 + 0.1*index,4 + 0.1*index)

plt.xticks(np.linspace(-4 + 0.1 * index, 4 + 0.1 * index, 9, endpoint=True))

# 设置Y轴

plt.ylabel("Y轴", fontproperties=myfont)

plt.ylim(-1.0, 1.0)

plt.yticks(np.linspace(-1, 1, 9, endpoint=True))

# 画两条曲线

plt.plot(x, y_cos, "b--", linewidth=2.0, label="cos示例")

plt.plot(x, y_sin, "g-", linewidth=2.0, label="sin示例")

# 设置图例位置,loc可以为[upper, lower, left, right, center]

plt.legend(loc="upper left", prop=myfont, shadow=True)

# 暂停

plt.pause(0.1)

# 关闭交互模式

plt.ioff()

# 图形显示

plt.show()

return

if __name__ == '__main__':

simple_plot()

在绘制前plt.cla()会把之前绘制的线清除掉

bV8WTR?w=607&h=449

删除 plt.cla()就是这样的效果,图例多次绘制

bV8WTX?w=622&h=474

如何只清除图例又不影响cos ,sin 动态绘制

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐