0
为了绘制不同于彼此的整体加载曲线,函数plot_loads准备在fill_between处生成随机颜色。不按预期以不同颜色结果。无法发现错误?请帮助。matplotlib facecolor多种颜色全部结果为黑色
def plot_loads(ti, tf, loads, max_y):
"""
plot load curves
\param ti : init t
\param tf : final t
\param loads : list of load curve lists
loads = [[ load1], [load2], ...]
\param max_y : vertical limit."""
#imports
from matplotlib import pyplot as plt
import numpy as np
import random
ys_array = []
for item in loads:
ys_array.append(item)
y = np.row_stack(ys_array)
x = np.arange(ti, tf)
y_stack = np.cumsum(y, axis=0)
fig = plt.figure(random.randint(1,1000))
#plot frame positioning
ax1 = fig.add_subplot(211)
#plot maximum load
ax1.fill_between(x, 0, max_y, alpha=0.1, facecolor = 'black')
#
for i, item in enumerate(loads):
if i == 0:
ax1.fill_between(x, 0, y_stack[0,:], facecolor = random.choice(['g', 'r', 'c', 'm', 'y', 'k']))
else:
ax1.fill_between(x, y_stack[i-1,:], y_stack[i,:], facecolor =random.choice(['g', 'r', 'c', 'm', 'y', 'k']))
plt.show()
它确实情节不同的颜色对我来说没有问题。你能扩展错误实际上是什么? – Greg
它的确如此。你能告诉我你是如何运行这个功能的吗?在情节运行返回全黑给我。 – Jack
类似于:loads = [np.linspace(0,20,10),np.linspace(0,10,10),np.linspace(0,10,10)]'然后调用 'plot_loads(0 ,10,loads,40)'产生[this](http://imgur.com/YJsUxHM)。 – Greg