我有一个列表,其中所有元素都是列表本身,通常只有一个元素,但是有些元素有两个元素,或者没有。
例如
Database.SetInitializer<MyDatabaseContext>(null);
(它们每次都是在可变线和3D可变表面之间的x坐标解决方案。我想使用numpy数组来提高效率,但不知道如何在这种可变尺寸的情况下使用它)>
和另一个对应的列表
function MyComponent({ mutate, setState }) {
return (
<button onClick={() =>
mutate({
variables: { foo: 42 },
}).then(data => {
// Process your data as needed here:
setState({ data });
}).catch(err => console.error('Our Error: ', err);
}>
Mutate
</button>
);
}
export default graphql(gql`mutation { ... }`)(MyComponent);
(实际数据长度为〜100000)
我想绘制list与时间的值。 问题显然是两个列表之间的尺寸不同。因此,从概念上讲,我想每次只绘制一个元素,但是Python甚至拒绝了,因为有些元素是[]。
因此,基本上,我只停留在一个元素的情况下,如果有人建议一种处理多个元素的情况的方法(例如上面的[4,-1]),将不胜感激。 (我发现了使用sympy.solvers.solve和sympy.nsolve的解决方案,所以我猜这些解决方案是按随机顺序排序的。因此,我认为我应该找到哪个解决方案(元素)更接近于先前的解决方案-就像我们可以猜到4是原始解决方案更改,-1是其他解决方案-并加以区分。)
答案 0 :(得分:0)
您可以使用堆积的条形图来表示数据:
import matplotlib.pyplot as plt
l = [[1],[2],[4,-1],[5],[]]
a, b = zip(*[i+[0, 0][:abs(len(i)-2)] for i in l])
time=[1,2,3,4,5]
plt.bar(list(range(len(l))), a, 0.5, color='#d62728', yerr=time, label='variable line')
plt.bar(list(range(len(l))), b, 0.5, bottom=a, yerr=time, label='3D surface')
plt.ylabel('coordinates')
plt.xlabel('time')
plt.legend(loc='upper left')
plt.show()
输出: