如何为matplotlib.pypplot.scatter()设置X和Y间隔?

How to set X and Y intervals for matplotlib.pypplot.scatter()?

我有以下代码用于绘制两个变量 'field_size' 和 'field_mean_LAI':

plt.figure(figsize=(20,10))
plt.scatter(df.field_size, df.field_lai_mean)
plt.title("Field Size and LAI Plot")
plt.xlabel("Field Size")
plt.ylabel("Mean LAI")
plt.show()

结果是散点图: "

如何配置 x 和 y 间隔并更改绘图的颜色??我是 python 绘图的初学者。

所以我修改了我的代码如下:

plt.figure(figsize=(20,10))
plt.scatter(df.field_size, df.field_lai_mean)
plt.title("Field Size and LAI Plot")
plt.xlabel("Field Size")
plt.ylabel("Mean LAI")

plt.xticks(np.arange(0.00000,0.00013,step=0.000008))
plt.yticks(np.arange(0,8.5,step=0.5))

plt.show()

现在我有这样的情节:

刚刚定义了xticks和yticks函数,很顺利! :)

要更改绘图点的颜色,您可以使用 color 属性(见下文)。

要设置两个轴的限制,可以传递xlimylim参数 在创建子图时。

另请注意,我在这里还传递了 rot 参数,以设置 x 标签旋转。

并配置 xy 间隔,您可以使用例如多重定位器, 对于 majorminor ticks。还有其他定位器, 在网上搜索详细信息。

您可以设置的其他元素也是网格(就像我所做的那样)。

因此您可以将代码更改为:

import matplotlib.pyplot as plt
import matplotlib.ticker as tck

fig = plt.figure(figsize=(10,5))
ax = plt.subplot(xlim=(-0.000003, 0.000123), ylim=(-0.5, 9))
df.plot.scatter(x='field_size', y='field_lai_mean', rot=30, color='r', ax=ax)
plt.title("Field Size and LAI Plot")
plt.xlabel("Field Size")
plt.ylabel("Mean LAI")
ax = plt.gca()
ax.yaxis.set_major_locator(tck.MultipleLocator(2))
ax.yaxis.set_minor_locator(tck.MultipleLocator(0.4))
ax.xaxis.set_major_locator(tck.MultipleLocator(0.00001))
ax.xaxis.set_minor_locator(tck.MultipleLocator(0.0000025))
ax.grid()
plt.show()

当然,根据您的需要调整传递的值。

对于一组非常有限的点,我得到了下图: