如何在散点图中按顺序连接点?
How to connect dots in order in a scatter plot?
我想连接一些点以了解数据的形状。我的代码如下
import numpy as np
import matplotlib.pyplot as plt
from random import randint, uniform,random
import random
import math
FO_1_NSGA=[1737903,1775238,1745292,1753900,1739432,1765932]
FO_2_NSGA=[1250000,1212665,1235970,1224003,1242687,1216719]
plt.scatter(FO_1_NSGA,FO_2_NSGA,marker='s',c="red",linewidths=True,label="NSGA",edgecolors='blue')
plt.plot(FO_1_NSGA,FO_2_NSGA)
plt.grid()
plt.xlabel("Costo Total de Transporte (CTT)")
plt.ylabel("Costo Total por Demanda Insatisfecha (CDIT)")
plt.legend(loc=0)
plt.show()
输出如下(正确)
我想连接这些点以查看我的变量的指数递减行为,但是当我尝试这样做时添加以下代码
plt.plot(FO_1_NSGA,FO_2_NSGA)
我明白了
这显然是不对的...有什么想法吗?
您的数据集未按升序或降序排列,您需要确保在使用 plt.plot 时,您的 x 变量按升序排列,相应的 y 变量位于相应的位置。这是因为 plt.plot 将按照给定的顺序连接点,因此必须按升序或降序提供数据点。
将数据集重新格式化为:
F0_1_NSGA = [1737903, 1739432, 1745292, 1753900, 1765932, 1775238]
F0_2_NSGA = [1212665, 1216719, 1224003, 1235970, 1242687, 1250000]
这将确保您的 plt.plot 和 plt.scatter 具有相同的图形形状。
希望有用:)
我想连接一些点以了解数据的形状。我的代码如下
import numpy as np
import matplotlib.pyplot as plt
from random import randint, uniform,random
import random
import math
FO_1_NSGA=[1737903,1775238,1745292,1753900,1739432,1765932]
FO_2_NSGA=[1250000,1212665,1235970,1224003,1242687,1216719]
plt.scatter(FO_1_NSGA,FO_2_NSGA,marker='s',c="red",linewidths=True,label="NSGA",edgecolors='blue')
plt.plot(FO_1_NSGA,FO_2_NSGA)
plt.grid()
plt.xlabel("Costo Total de Transporte (CTT)")
plt.ylabel("Costo Total por Demanda Insatisfecha (CDIT)")
plt.legend(loc=0)
plt.show()
输出如下(正确)
我想连接这些点以查看我的变量的指数递减行为,但是当我尝试这样做时添加以下代码
plt.plot(FO_1_NSGA,FO_2_NSGA)
我明白了
这显然是不对的...有什么想法吗?
您的数据集未按升序或降序排列,您需要确保在使用 plt.plot 时,您的 x 变量按升序排列,相应的 y 变量位于相应的位置。这是因为 plt.plot 将按照给定的顺序连接点,因此必须按升序或降序提供数据点。
将数据集重新格式化为:
F0_1_NSGA = [1737903, 1739432, 1745292, 1753900, 1765932, 1775238]
F0_2_NSGA = [1212665, 1216719, 1224003, 1235970, 1242687, 1250000]
这将确保您的 plt.plot 和 plt.scatter 具有相同的图形形状。
希望有用:)