首页 > 解决方案 > 如何为 matplotlib.pypplot.scatter() 设置 X 和 Y 间隔?

问题描述

我有以下代码用于绘制两个变量“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绘图的初学者。

标签: pythonmatplotlibscatter-plot

解决方案


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

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

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

并且要配置xy间隔,您可以使用例如MultipleLocator,用于主要次要滴答声。还有其他定位器,请在网上搜索详细信息。

您可以设置的附加元素也是网格(就像我一样)。

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

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()

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

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

在此处输入图像描述


推荐阅读