Hei*_*g93 64 python matplotlib
我在matplotlib上找到了以下示例
import numpy as np
import matplotlib.pyplot as plt
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
plt.subplot(2, 1, 1)
plt.plot(x1, y1, 'ko-')
plt.title('A tale of 2 subplots')
plt.ylabel('Damped oscillation')
plt.subplot(2, 1, 2)
plt.plot(x2, y2, 'r.-')
plt.xlabel('time (s)')
plt.ylabel('Undamped')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我的问题是:我需要改变什么,让这些情节并排?
Jon*_*ice 105
将您的子图设置更改为:
plt.subplot(1, 2, 1)
...
plt.subplot(1, 2, 2)
Run Code Online (Sandbox Code Playgroud)
参数subplot包括:行数,列数以及当前所在的子图.所以1, 2, 1意味着"一排,两列图:转到第一个子图." 然后1, 2, 2意味着"1行,2列图:转到第二个子图."
您目前要求的是一个2行,1列(即一个在另一个上面)的布局.你需要要求一个1行,2列的布局.当你这样做时,结果将是:
为了最大限度地减少子图的重叠,您可能想要:
plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)
演出前.产量:
Smi*_*tty 17
当沿一个方向堆叠子图时,如果您只是创建几个轴,matplotlib 文档建议立即解压。
fig, (ax1, ax2) = plt.subplots(1,2, figsize=(20,8))
sns.histplot(df['Price'], ax=ax1)
sns.histplot(np.log(df['Price']),ax=ax2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
bus*_*ear 11
检出此页面:http : //matplotlib.org/examples/pylab_examples/subplots_demo.html
plt.subplots类似。我认为这会更好,因为设置图形的参数会更容易。前两个参数定义布局(在您的情况下为1行,2列),其他参数更改功能,例如图形尺寸:
import numpy as np
import matplotlib.pyplot as plt
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(5, 3))
axes[0].plot(x1, y1)
axes[1].plot(x2, y2)
fig.tight_layout()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103580 次 |
| 最近记录: |