如何调整绘图大小以适应 matplotlib 中的值

How to resize the plots to fit values in matplotlib

我正在尝试通过 Raspberry Pi 3B 上的散点图绘制一系列小值。但是每当我尝试绘制这些值时,它们看起来都非常小。我已经在图形级别和情节级别上尝试了 tight_layout()axis('scaled'),但似乎没有任何效果。

代码

u_lat, u_lon, u_list = [], [], [i for i in range(200)]
        for i in range(200):
            u_lat.append(random.uniform(17.160541, 17.161970))
            u_lon.append(random.uniform(78.658089, 78.660843))

        ##############################################################
        # Scatter plot of data
        userDataPlotFig, ax = plt.subplots()

        ax.scatter(u_lat, u_lon)

绘图输出

我希望它能适当缩放以适合屏幕上的所有值。

您需要设置x、y轴范围。我举了一个例子,其中轴的必要限制被注释掉了。如果您将当前的替换为评论中的那个,您将看到不同之处。

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(70)
y = np.random.rand(70)

fig, ax = plt.subplots()

ax.scatter(x, y)
plt.xlim([0, 2])#plt.xlim([0, 1])
plt.ylim([0, 3])#plt.ylim([0, 1])
plt.show()

plt.xlim([0, 2])
plt.ylim([0, 3])

plt.xlim([0, 1])
plt.ylim([0, 1])

在您的示例中,我建议执行以下操作:

import numpy as np
import matplotlib.pyplot as plt

u_lat, u_lon, u_list = [], [], [i for i in range(200)]
for i in range(200):
    u_lat.append(np.random.uniform(17.160541, 17.161970))
    u_lon.append(np.random.uniform(78.658089, 78.660843))


lat = np.array(u_lat)
lon = np.array(u_lon)
min_x = np.min(lat)
max_x = np.max(lat)
min_y = np.min(lon)
max_y = np.max(lon)

userDataPlotFig, ax = plt.subplots()
ax.scatter(u_lat, u_lon)
plt.xlim([min_x, max_x])
plt.ylim([min_y, max_y])
plt.show()