Python 散点图连线,但为什么有底线?

Python Scatter Plot connected with line, but why there is a bottom line?

我正在用散点图连接 1 个图表上的 (x,y) 点列表。它确实将所有这些点连接在一起,但也在底部生成一条线。

这是我的示例代码(我正在使用 iPython):

%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)

mc_time_lst1 = [[0, 8], [1, 12], [2, 18]]
mc_time_lst2 = [[0, 10], [1, 9], [2, 5]]
mc_time_lst3 = [[0, 11], [1, 8], [2, 17]]

plt.plot(mc_time_lst1, 'o-', label='line1')
plt.plot(mc_time_lst2, '-*', label='line2')
plt.plot(mc_time_lst3, '-D', label='line3')
plt.legend();

这是我得到的:

如你所见,我想要的真实3条线下面有一条金线(其实就是3条线)。那么多行的时候,看图例容易混淆。

有什么办法可以消除这个底线吗?或者删除该底线的图例?

您的数据格式有误。绘图函数只需要 yxy 的值。 IE。你会做

plt.plot([0,1,2],[8,12,18]) 

或者在这种情况下只是

plt.plot([8,12,18]) 

要绘制问题中的给定数据,您可以按如下方式重新排列它们:

#%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)

mc_time_lst1 = [[0, 8], [1, 12], [2, 18]]
mc_time_lst2 = [[0, 10], [1, 9], [2, 5]]
mc_time_lst3 = [[0, 11], [1, 8], [2, 17]]

x1,y1 = zip(*mc_time_lst1)
x2,y2 = zip(*mc_time_lst2)
x3,y3 = zip(*mc_time_lst3)

plt.plot(x1,y1, 'o-', label='line1')
plt.plot(x2,y2, '-*', label='line2')
plt.plot(x3,y3, '-D', label='line3')
plt.legend()

不需要给出x轴数据,因为它是0,1,2..等等。

你可以简单的写下面的代码

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
mc_time_lst1 = [ 8,  12,  18]
mc_time_lst2 = [ 10,  9,  5]
mc_time_lst3 = [ 11,  8,  17]
plt.plot(mc_time_lst1, 'o-', label='line1')
plt.plot(mc_time_lst2, '-*', label='line2')
plt.plot(mc_time_lst3, '-D', label='line3')
plt.legend();