提问人:LostinSpatialAnalysis 提问时间:11/14/2023 最后编辑:Trenton McKinneyLostinSpatialAnalysis 更新时间:11/14/2023 访问量:60
散点图点与数据不同,看起来非常偏离尺度 [重复]
Scatter plot points do not resemble data and appear very off-scale [duplicate]
问:
我有一个大约 300 个点的数据集,每个点都有相应的 X 值和 Y 值。数据中还有第三列带有“质量”标签,要么说“好”,要么说“坏”,所以我的数据框中有三列数据,两列是数字,一列是字符串。
我只想制作这些数据点的散点图,“好”点为蓝色,“坏”点为红色,图例显示这种颜色区别。然而,我只是无法在 python 中匹配我在 Excel 中制作的绘图。
在 Excel 中,我只是制作了 X 列和 Y 列的散点图并得到了这个,这对我来说看起来是正确的:
然后,我尝试使用以下代码在python中创建此图:
x = df['X']
y = df['Y']
plt.scatter(x, y)
plt.show()
除了轴刻度线看起来可怕地挤在一起之外,这些数据点对我来说根本没有任何意义,它们根本不像我制作的 Excel 图,它使用完全相同的数据。也许这可能是轴格式问题,但我不知道。
如何修复代码以正确捕获 Excel 绘图中显示的数据点?
答:
0赞
inverted_index
11/14/2023
#1
假设您已经将数据读入了 的 pandas 数据帧中,并且它有三列:、 和 ,那么以下操作应该可以为您解决问题:df = pd.read_csv("/path/to/your/file")
X
Y
Quality
# Separate the data into two groups based on the 'Quality' column
good_data = df[df['Quality'] == 'Good']
bad_data = df[df['Quality'] == 'Bad']
# Create a scatter plot
plt.scatter(good_data['X'], good_data['Y'], color='blue', label='Good')
plt.scatter(bad_data['X'], bad_data['Y'], color='red', label='Bad')
# Adding labels and title (optional)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot of Good vs Bad Quality Data')
# Show the legend
plt.legend()
# Show the plot
plt.show()
评论
ax = sns.scatterplot(data=df, x='X', y='Y', hue='Quality')