gpt4 book ai didi

python - 在散点图中创建 for 循环的问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:24:51 24 4
gpt4 key购买 nike

下面是我的散点图代码。我遇到的问题是图例显示:

旁边有一个 M 的蓝点,然后在它下面显示一个旁边有 i 的橙色点。那不是我想要的。我想让它显示一个带有 Microcar 0 的蓝点,然后在它下面显示一个橙色点,旁边是 Microcar 1。

肯定有问题:

plt.legend('Microcar'+ stri(i)) 

我的部分代码,但我不知道是什么?

import matplotlib.pyplot as plt
import numpy as np

horizontal_expected =[28.96, 165.03]
vertical_expected = [196.14,-3.34]

for i in list(range(len(vertical_expected))):
y = vertical_expected[i]
x = horizontal_expected[i]
plt.scatter(x,y)
plt.legend('Microcar' + str(i))


plt.show()

最佳答案

你的方法有两个错误:

  1. 每次运行 plt.legend('Microcar'+ stri(i)) 行时,它都会覆盖图例。
  2. plt.legend 方法需要一个 labels 参数,它是一个可迭代的参数,并依次将 labels 的每个成员分配给图的组成部分。因为字符串是可迭代的,所以它将字符串的每个字符分配给每个图形组件。

公认的解决方案有效,但更易读的方法是边做边标记。

import matplotlib.pyplot as plt
import numpy as np

horizontal_expected =[28.96, 165.03]
vertical_expected = [196.14,-3.34]

for i, (x, y) in enumerate(zip(horizontal_expected, vertical_expected)):
plt.scatter(x, y, label='Microcar ' + str(i))

plt.legend()

plt.show()

关于python - 在散点图中创建 for 循环的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58360831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com