我的代码看起来像这样:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
for x in np.arange(0,100,5):
plt.scatter(x, x**2, c="blue", marker="o",s=1)
plt.legend()
plt.xlabel("$x$", fontsize=16)
plt.ylabel("$f(x)$", fontsize=16)
plt.show()
给了我附图:
如何用线连接点,甚至更优选的是平滑曲线?
提前感谢您的帮助!
答案 0 :(得分:1)
您可以使用plot
创建一条平滑线而不是scatter
,它会绘制各个点。此外,您不需要在此处执行任何循环,matplotlib处理数组的绘图。
x = np.arange(0, 100, 5)
plt.plot(x, x ** 2, c="blue")
plt.xlabel("$x$", fontsize=16)
plt.ylabel("$f(x)$", fontsize=16)
plt.show()
给出了:
修改强>
我认为没有办法直接使用分散加入点。你可以做到
plt.scatter(x, x ** 2, c="blue",s=1)
plt.plot(x, x ** 2, c="blue")
基本上是
plt.plot(x, x**2, color="blue", marker="o")
与@RinitanceOfBeingErnest的答案相同
答案 1 :(得分:0)
scatter
图显示(可能)不同大小和颜色的各个点。在这种情况下,您似乎想要行plot
其次,没有理由循环遍历数组中的各个点。相反,您希望将完整的数组提供给绘图功能。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,100,5)
plt.plot(x, x**2, color="blue", marker="o",ms=5, label="label")
plt.legend()
plt.xlabel("$x$", fontsize=16)
plt.ylabel("$f(x)$", fontsize=16)
plt.show()