Python使用matplotlib来for循环实时画图为什么会出现多个图出来,循环几次就出来几个图,什么原因?

2024-05-13

1. Python使用matplotlib来for循环实时画图为什么会出现多个图出来,循环几次就出来几个图,什么原因?

你好,你的代码里面用了一个for循环来调用plot.scatter,一共调用了三次,所以画了三个图。
你可以考虑用下面的代码:
x=[]
Y=[]
for i in range(3):
   x.append(i);
   y=np.random.random()
   Y.append(y)
plt.scatter(x,Y)
ply.show()

Python使用matplotlib来for循环实时画图为什么会出现多个图出来,循环几次就出来几个图,什么原因?

2. python 将多个数据图绘制到一张图上

假设有9张图, 化成3行3列
plt.subplot(331)

plt.plot(...)
plt.subplot(332)
plt.plot(...)
...
plt.subplot(339)
plt.plot(...)

3. 如何用matplotlib画多个独立窗口的图

import numpy as npimport matplotlib.pyplot as pltdef show(data):    data = np.array(data)    x =[a for a in range(data.size)]    fig = plt.figure()    plt.plot(x,data)    plt.grid()    fig.show()用这个函数就可以同时输出多个图像,只需要传入Y值就可以画出图来,X值是根据Y值个数确定

如何用matplotlib画多个独立窗口的图

4. python matplotlib模块 如何画两张图出来

python matplotlib模块 如何画两张图出来的方法:
代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
#创建自变量数组
x= np.linspace(0,2*np.pi,500)
#创建函数值数组
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(x*x)
#创建图形
plt.figure(1)
'''
意思是在一个2行2列共4个子图的图中,定位第1个图来进行操作(画图)。
最后面那个1表示第1个子图。那个数字的变化来定位不同的子图
'''
#第一行第一列图形
ax1 = plt.subplot(2,2,1)
#第一行第二列图形
ax2 = plt.subplot(2,2,2)
#第二行
ax3 = plt.subplot(2,1,2)
#选择ax1
plt.sca(ax1)
#绘制红色曲线
plt.plot(x,y1,color='red')
#限制y坐标轴范围
plt.ylim(-1.2,1.2)
#选择ax2
plt.sca(ax2)
#绘制蓝色曲线
plt.plot(x,y2,'b--')
plt.ylim(-1.2,1.2)
#选择ax3
plt.sca(ax3)
plt.plot(x,y3,'g--')
plt.ylim(-1.2,1.2)
plt.show()

附上效果图。

5. Python使用matplotlib绘图,如何在绘图结果上显示每个点的坐标

import matplotlib.pyplot as plt  import randomx1 = list(range(10))y1 = [random.randint(0,10) for i in range(10)]  plt.plot(x1, y1,  color='r',markerfacecolor='blue',marker='o')  for a, b in zip(x1, y1):      plt.text(a, b, (a,b),ha='center', va='bottom', fontsize=10)  plt.legend()  plt.show()

Python使用matplotlib绘图,如何在绘图结果上显示每个点的坐标

6. python怎么在屏幕上画图

首先说你的要求有些不明确的部分
比如说你在所有窗体上写
那是否画图的同时还要拖动其他窗体?
这个要求的话
目前的python各种gui库貌似还没有支持到这么个绘画不规则窗体而不会挡住其他窗体还又在其上的;

如果只是在他们上面你可以画图而不用一定要拖动其他窗体的话
可以设计窗体为全屏大小,背景透明,不显示标题栏,然后用普通的画图函数就可以了 
对了
推荐使用wxpython

7. Python matplotlib如何在一个窗口画多张图,使用forward to next view按钮切换

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



from matplotlib.figure import Figure

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

from Tkinter import *

         

class test(object):

   def __init__(self,parent):

       self.parent = parent

       self.n = 0

       Button(self.parent,text = 'change',command = self.change).pack()

       '''表格个数'''        

       num = 2

       fig = []

       self.canvas = []

       for i in range(num):

           fig.append(Figure())

           self.canvas.append(FigureCanvasTkAgg(fig[i],master = self.parent))

       self.canvas[0]._tkcanvas.pack()

       '''以下可以创建不同的图'''

       axe = fig[0].add_subplot(111)

       axe.set_title(u'第一个图',{'fontname':'STSong'})

       axe2 = fig[1].add_subplot(211)

       axe2_2 = fig[1].add_subplot(212)

       axe2.set_title(u'第二个图',{'fontname':'STSong'})

   def change(self):

       self.n +=1

       if self.n == 2:

           self.n = 0

       self.canvas[self.n -1]._tkcanvas.pack_forget()

       self.canvas[self.n]._tkcanvas.pack()

       

if __name__ == "__main__":

   root = Tk()

   test(root)

   root.mainloop()
您看着样能不能满足您的要求?

单击change后:

Python matplotlib如何在一个窗口画多张图,使用forward to next view按钮切换

8. python下,如何在Qlabel显示的图片上绘图??

先定义一个 QPixmap,在通过QPainter进行绘画。
例子如下:
QPixmap pixmap(100, 100);
QPainter paint(&pixmap);
paint.drawLine(); // drawImage 等等各种draw开头的方法。