相关疑难解决方法(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万
查看次数

具有可变线宽的Matplotlib图

是否可以在matplotlib中绘制具有可变线宽的线?例如:

from pylab import *
x = [1, 2, 3, 4, 5]
y = [1, 2, 2, 0, 0]
width = [.5, 1, 1.5, .75, .75]

plot(x, y, linewidth=width)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为线宽需要标量.

注意:我知道*fill_between()*和*fill_betweenx()*.因为这些只能填充x或y方向,所以这些不适用于有斜线的情况.希望填充总是垂直于线.这就是寻求可变宽度线的原因.

python plot matplotlib

31
推荐指数
2
解决办法
4万
查看次数

python:如何用不同的颜色绘制一条线

我有两个列表如下:

latt=[42.0,41.978567980875397,41.96622693388357,41.963791391892457,...,41.972407378075879]
lont=[-66.706920989908909,-66.703116557977069,-66.707351643324543,...-66.718218142021925]
Run Code Online (Sandbox Code Playgroud)

现在我想将它绘制成一条线,将每个10个'latt'和'lont'记录分开作为一个时期并给它一个独特的颜色.我该怎么办?

python matplotlib

12
推荐指数
2
解决办法
2万
查看次数

Pyplot:曲线下的垂直渐变填充?

我想知道是否有一种方法可以在垂直渐变下填充pyplot曲线,就像在这个快速模型中一样:

图片

我在StackOverflow上发现了这个黑客,我不介意多边形,如果我能弄清楚如何使颜色贴图垂直:如何在Python matplotlib中的曲线下填充彩虹色

python gradient matplotlib

10
推荐指数
2
解决办法
7442
查看次数

标签 统计

matplotlib ×4

python ×4

plot ×2

gradient ×1

line ×1