Matplotlib 框大小不相等
Matplotlib box sizes are not equal
我有两个图形大小相同的图,我想让它们具有相同的框大小。
有人知道如何实现吗?
这是我的代码:
lstOfNames = []
fig,ax = plt.subplots(figsize=(24,12))
plt.plot(price.index, price.values)
plt.tick_params(axis='both', which='major', labelsize=18)
plt.setp(ax.get_xticklabels(), visible=False)
fig,ax = plt.subplots(figsize=(24,12))
for i in df_COT.columns:
plt.plot(df_COT[i],linewidth=2)
lstOfNames.append(i)
plt.axhline(y=0, color='black', linestyle='--')
plt.axhline(y=50000, color='black', linestyle=':')
plt.axhline(y=100000, color='black', linestyle=':')
plt.axhline(y=-50000, color='black', linestyle=':')
plt.axhline(y=-100000, color='black', linestyle=':')
plt.legend(lstOfNames,fontsize=17)
plt.title("COT Report - Non-Commercial (Large Speculators)", fontsize = 30)
plt.tick_params(axis='both', which='major', labelsize=20)#
fig.autofmt_xdate()
plt.savefig("COT Report.png", bbox_inches='tight')
plt.show()
我目前的输出:
因为我没有你正在绘制的数据,所以我无法检查运行你的代码:你可以添加
f, (ax1, ax2) = plt.subplots(2,1,sharex=True,figsize=(24,12))
并检查。
关于您的评论,下面是一个工作示例:
import numpy as np
import matplotlib.pyplot as plt
#Some dummy data
x = np.linspace(0,10,1001)
y = x+1
fig, (ax1, ax2) = plt.subplots(2, sharex=True)
## if you want to control the spacing between the subpots
##fig, (ax1, ax2) = plt.subplots(2, sharex=True, gridspec_kw={'hspace': 0})
fig.suptitle('Using sharex')
ax1.plot(x, y)
ax2.plot(x + 1, -y)
plt.show()
我有两个图形大小相同的图,我想让它们具有相同的框大小。
有人知道如何实现吗?
这是我的代码:
lstOfNames = []
fig,ax = plt.subplots(figsize=(24,12))
plt.plot(price.index, price.values)
plt.tick_params(axis='both', which='major', labelsize=18)
plt.setp(ax.get_xticklabels(), visible=False)
fig,ax = plt.subplots(figsize=(24,12))
for i in df_COT.columns:
plt.plot(df_COT[i],linewidth=2)
lstOfNames.append(i)
plt.axhline(y=0, color='black', linestyle='--')
plt.axhline(y=50000, color='black', linestyle=':')
plt.axhline(y=100000, color='black', linestyle=':')
plt.axhline(y=-50000, color='black', linestyle=':')
plt.axhline(y=-100000, color='black', linestyle=':')
plt.legend(lstOfNames,fontsize=17)
plt.title("COT Report - Non-Commercial (Large Speculators)", fontsize = 30)
plt.tick_params(axis='both', which='major', labelsize=20)#
fig.autofmt_xdate()
plt.savefig("COT Report.png", bbox_inches='tight')
plt.show()
我目前的输出:
因为我没有你正在绘制的数据,所以我无法检查运行你的代码:你可以添加
f, (ax1, ax2) = plt.subplots(2,1,sharex=True,figsize=(24,12))
并检查。
关于您的评论,下面是一个工作示例:
import numpy as np
import matplotlib.pyplot as plt
#Some dummy data
x = np.linspace(0,10,1001)
y = x+1
fig, (ax1, ax2) = plt.subplots(2, sharex=True)
## if you want to control the spacing between the subpots
##fig, (ax1, ax2) = plt.subplots(2, sharex=True, gridspec_kw={'hspace': 0})
fig.suptitle('Using sharex')
ax1.plot(x, y)
ax2.plot(x + 1, -y)
plt.show()