我不想为每个绘制的线指定颜色:
from matplotlib import pyplot as plt
for i in range(20):
plt.plot([0, 1], [i, i])
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果您为此查看图像,matplotlib会尝试为每行不同的颜色选择颜色,但最终会重新使用颜色.我只是想阻止它重复已经使用的颜色和/或提供一个颜色列表来使用.
如何使用colormap(比如jet)在运行时使用标量值设置matplotlib中一行的颜色?我在这里尝试了几种不同的方法,我觉得我很难过.values[]是一系列标量.曲线是一组1-d数组,标签是文本字符串数组.每个阵列具有相同的长度.
fig = plt.figure()
ax = fig.add_subplot(111)
jet = colors.Colormap('jet')
cNorm = colors.Normalize(vmin=0, vmax=values[-1])
scalarMap = cmx.ScalarMappable(norm=cNorm, cmap=jet)
lines = []
for idx in range(len(curves)):
line = curves[idx]
colorVal = scalarMap.to_rgba(values[idx])
retLine, = ax.plot(line, color=colorVal)
#retLine.set_color()
lines.append(retLine)
ax.legend(lines, labels, loc='upper right')
ax.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud) 为了说明它的一般形式,我正在寻找一种方式来加入几个点用渐变色线使用matplotlib,我不会在任何地方找到它.更具体地说,我正在绘制一条带有一条颜色线的2D随机游走.但是,由于这些点具有相关的序列,我想查看该图并查看数据的移动位置.渐变色线可以解决这个问题.或者是一条渐变透明度的线.
我只是想改善数据的虚拟化.看看这个由ggplot2包产生的漂亮图像.我在matplotlib中寻找相同的图像.谢谢.

我有一系列的线条,每个线条需要用单独的颜色绘制.每条线实际上由几个数据集(正面,负面区域等)组成,因此我希望能够创建一个生成器,它将在光谱中一次提供一种颜色,例如此处显示的gist_rainbow地图.
我发现了以下作品,但它看起来很复杂,更重要的是难以记住,
from pylab import *
NUM_COLORS = 22
mp = cm.datad['gist_rainbow']
get_color = matplotlib.colors.LinearSegmentedColormap.from_list(mp, colors=['r', 'b'], N=NUM_COLORS)
...
# Then in a for loop
this_color = get_color(float(i)/NUM_COLORS)
Run Code Online (Sandbox Code Playgroud)
而且,它不包括gist_rainbow地图中的颜色范围,我必须重新定义地图.
也许发电机不是最好的方法,如果是这样,可接受的方式是什么?
不完全确定如何解决以下属性错误:
AttributeError: 'AxesSubplot' object has no attribute 'add_axes'
Run Code Online (Sandbox Code Playgroud)
令人讨厌的问题似乎与我设定情节的方式有关:
gridspec_layout = gridspec.GridSpec(3,3)
pyplot_2 = fig.add_subplot(gridspec_layout[2])
ax = WCSAxes(fig, [0.1, 0.1, 0.8, 0.8], wcs=wcs)
pyplot_2.add_axes(ax)
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?非常感谢。
我在Python中使用matplotlib绘制20到50条线之间的任意位置。使用matplotlib的滑动色标后,在绘制了一定数量的线后(在20之前),这些变得难以区分。
虽然我已经看到了Matlab和C#中的一些代码示例,以创建任意数量的颜色的色图,这些色图可以最大程度地彼此区分,但是我在Python中找不到任何东西。
谁能指出我在Python中可以做到这一点的方向?
干杯
我有这个代码:
plist = ['p5', 'p14', 'p23', 'p32', 'p41', 'p50', 'p59', 'p68', 'p77', 'p85', 'p95']
for pltcount in range(len(plist)):
plt.plot(data1[pltcount], np.exp(data2)[pltcount], marker='o', label=str(plist[pltcount]))
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
这是使用plt.style.use('fivethirtyeight') 使情节更好。我找到了手动分配颜色的示例。如果我希望它是自动的并且来自一些众所周知的调色板怎么办?