Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python中的matplotlib将多个x、y系列值绘制为一个_Python_Matplotlib - Fatal编程技术网

使用python中的matplotlib将多个x、y系列值绘制为一个

使用python中的matplotlib将多个x、y系列值绘制为一个,python,matplotlib,Python,Matplotlib,我有如下两个列表: values = [['2000', '246', '535', '461', '654', '522'], ['2000', '246', '535', '461', '654']] levels = [['Levels', '200', '300', '400', '500', '600'], ['Levels', '200', '350', '430', '520']] 其思想是从每个列表的第二个位置开始,在同一个图中表示第一个值列表与第一个元素列表,第二个值列表与第

我有如下两个列表:

values = [['2000', '246', '535', '461', '654', '522'], ['2000', '246', '535', '461', '654']]
levels = [['Levels', '200', '300', '400', '500', '600'], ['Levels', '200', '350', '430', '520']]
其思想是从每个列表的第二个位置开始,在同一个图中表示第一个<代码>值列表与第一个<代码>元素列表,第二个<代码>值列表与第二个<代码>级别列表

为此,我添加了以下代码行:

import matplotlib.pyplot as plt

fig=plt.figure()
ax=fig.add_subplot(111)

for i in range(0,len(levels)):
   x=values[i]
   y=levels[i]
   x1=x[1:]
   y1=y[1:]
   ax.plot(x1,y1)

plt.show()
但是通过这个,我得到了两个不同的图。我怎样才能在一个图形中表示所有内容?谢谢

你不需要一个循环“for”来满足你的需求。试试这个:

import matplotlib.pyplot as plt

fig=plt.figure()
ax=fig.add_subplot(111)

x = values[0][1:] + values[1][1:]
y = levels[0][1:] + levels[1][1:]

ax.plot(x,y)
plt.show()

您的示例代码似乎满足了您的要求

你可以让它更像蟒蛇

import matplotlib.pyplot as plt

fig=plt.figure()
ax=fig.add_subplot(111)

allValues = [['2000', '246', '535', '461', '654', '522'], ['2000', '246', '535', '461', '654']]
allLevels = [['Levels', '200', '300', '400', '500', '600'], ['Levels', '200', '350', '430', '520']]

for levels, values in zip(allLevels, allValues):
  ax.plot(levels[1:],values[1:])

plt.show()


还有,只是一个猜测,但是你有没有把
x
y
弄错了?

谢谢,它是有效的,但我不能用这种方式混合数据,因为这些曲线都有特定的颜色、图例等等。如果我混合了数据,那么我就会丢失这些信息。这就是我考虑循环的原因。它有效!的确,我的代码也起了作用,但我不知道我以前做得不好。水平应该在纵坐标轴做我想要的图形!谢谢