这是我的数据和想要生成的图形:
from numpy import array
from os.path import expanduser
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
data = [array([8, 4, 9, 6, 2]), array([5, 4, 4, 1, 2]), array([4, 3, 1, 5, 6]), array([8, 3, 5, 6, 4])]
for d in data:
plt.plot(d)
# plt.savefig(expanduser("~/Documents/rural_juror.pdf"))
因为我想在其中绘制多个图,seaborn facetgrid
所以不能使用循环,而必须在一行上完成,如下所示:
plt.plot(*data)
# produces same result as
# plt.plot(data[0], data[1], data[2], data[3])
但是,这不起作用,但是会生成如下图:
我猜想这与绘制该类型的参数有关,data, looks, data, looks...
但是我该如何解决呢?
是的,如果要使用单行代码,则需要提供x
和y
值。您可以这样做:
import numpy as np
x = np.arange(5)
data = [x, array([8, 4, 9, 6, 2]),
x, array([5, 4, 4, 1, 2]),
x, array([4, 3, 1, 5, 6]),
x, array([8, 3, 5, 6, 4])]
plt.plot(*data)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句