相关疑难解决方法(0)

Matplotlib:用不同的颜色绘制许多断开的线段

我有一组这样的数据记录:

(s1, t1), (u1, v1), color1
(s2, t2), (u2, v2), color2
.
.
.
(sN, tN), (uN, vN), colorN
Run Code Online (Sandbox Code Playgroud)

在任何记录中,前两个值是线段的终点,第三个值是该线段的颜色.更具体地说,(sn, tn)第一个端点(un, vn)的xy坐标是第二个端点的xy坐标.此外,颜色是具有alpha值的rgb.

通常,任何两个线段都是断开的(意味着它们的端点不一定重合).

如何使用matplotlib使用单个plot调用(或尽可能少)来绘制此数据,因为可能存在数千条记录.

尝试

在一个大列表中准备数据并对其进行调用plot太慢了.例如,以下代码无法在合理的时间内完成:

import numpy as np
import matplotlib.pyplot as plt

data = []
for _ in xrange(60000):
    data.append((np.random.rand(), np.random.rand()))
    data.append((np.random.rand(), np.random.rand()))
    data.append('r')

print 'now plotting...' # from now on, takes too long
plt.plot(*data)
print 'done'
#plt.show()
Run Code Online (Sandbox Code Playgroud)

我能够使用None …

python plot matplotlib line

44
推荐指数
3
解决办法
5万
查看次数

标签 统计

line ×1

matplotlib ×1

plot ×1

python ×1