如何调整绘图大小以适应 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()
我正在尝试通过 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()