我在C语言方面经验丰富,但对于我在其中一个课程中分配的项目,我正在考虑将其用作将项目介绍给Python的项目。我以前从未使用过Python,但我做过一些研究,很明显GUI设计和可视化对Python非常容易;但是,我无法在线程上找到任何库。
我的项目将有两个线程检查一个对象/类,看看是否设置了bool,以便它可以对某些数据进行操作,一旦它完成,它将标记另一个线程进行操作相同的数据。图表上将有数百个记录的数据点,我需要以图形方式显示。
我的问题如下:
Python是否有特定的库可以帮助我轻松显示数百个点的图形? 如果是这样,你会推荐哪个初学者使用Python?
哪些线程库最适合Python中的初学者?
谢谢大家对此事的任何帮助。
答案 0 :(得分:4)
igraph适用于图形可视化。如果您的意思是绘制点,请使用matplotlib。
线程模块内置了python标准库。
答案 1 :(得分:1)
你可能不想在Python中使用线程,因为一次只能运行一个线程。搜索GIL(此处或Google)。像multiprocessing
这样的模块允许轻松使用多个基于进程的并发。下面创建两个进程来打印args关键字arg中传递的字符串。多处理的最大问题是,因为它是多进程(并且进程具有单独的地址空间),所以必须明确处理共享对象。
import multiprocessing as mp
def f(name):
print name
p = mp.Process(target=f, args=('bob',))
q = mp.Process(target=f, args=('jeff',))
p.start()
q.start()
p.join()
q.join()
有关图形,请参阅matplotlib。你可以单独使用它来绘制和显示,也可以将它嵌入到像QT这样的大型GUI库中。下面在matplotlib中绘制一条线。
import matplotlib as plt
X = [0, 1, 2]
Y = [0, 1, 2]
plt.plot(X, Y)
plt.show()
它也可以做你能想到的任何类型的图形(散射,组合,3D冲浪/框架,轮廓等)。