【发布时间】:2021-10-12 01:43:22
【问题描述】:
我有以下 2x2 子图的代码:
figure(figsize=(10, 6), dpi=100)
plt.style.use('fivethirtyeight')
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
fig.tight_layout(pad=2)
fig.suptitle('Driving Relationships', fontsize=20)
# subplot 221
ax1.scatter(dataset2["duration"]/60, dataset2["distance"]/1000, c='red', alpha=0.5)
ax1.set_title("Duration vs Distance", fontsize=12)
ax1.set_xlabel("Duration (min)",fontsize=8)
ax1.set_ylabel("Distance (km)",fontsize=8)
# subplot 222
ax2.scatter(dataset2["duration"]/60, dataset2["speed_mean"], c='red', alpha=0.5)
ax2.set_title("Duration vs Speed", fontsize=12)
ax2.set_xlabel("Duration (min)",fontsize=8)
ax2.set_ylabel("Mean Speed (m/s)",fontsize=8)
# subplot 223
ax3.scatter(dataset2["ascent_total"], dataset2["acceleration_mean"], c='red', alpha=0.5)
ax3.set_title("Ascent vs Acceleration", fontsize=12)
ax3.set_xlabel("Ascent (m)",fontsize=8)
ax3.set_ylabel("Mean Acceleration (m/s^2)",fontsize=8)
# subplot 224
ax4.scatter(dataset2["descent_total"], dataset2["acceleration_mean"], c='red', alpha=0.5)
ax4.set_title("Descent vs Acceleration", fontsize=12)
ax4.set_xlabel("Descent (m)",fontsize=8)
ax4.set_ylabel("Mean Acceleration (m/s^2)",fontsize=8)
plt.show()
我已尝试更改图形大小(没有任何反应)。即使在设置填充值时,我也使用了 fig.tight_layour() 并不是一个重大改进。如何修复我的代码以获得更美观的图形?
【问题讨论】:
-
使用 constrained_layout 而不是 tight_layout
-
最后也调用tight_layout,就在plt.show之前。
-
感谢您为自己的问题发布解决方案。如果您对您的解决方案感到满意,您应该考虑posting it as an answer。
标签: python matplotlib plot figure scatter