Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 子批次/设置垂直空间的Matplotlib校准(Jupyter笔记本)_Python_Matplotlib_Jupyter Notebook - Fatal编程技术网

Python 子批次/设置垂直空间的Matplotlib校准(Jupyter笔记本)

Python 子批次/设置垂直空间的Matplotlib校准(Jupyter笔记本),python,matplotlib,jupyter-notebook,Python,Matplotlib,Jupyter Notebook,我有两块地积在一起。上部图形的图例由较大的数字组成,因此图形被推到右侧。我已经看到了锚定的概念,但我没有实现它。我的想法是对齐左y轴。此外,子地块之间的空间有点太宽,有没有办法控制这种行为 有人能帮我吗 非常感谢,请大家注意安全 我创建了一些测试数据: 守则: fig, host = plt.subplots(figsize=(8,4)) plt.title('test') fig, hos = plt.subplots(figsize=(8,2)) par1 = host.twinx()

我有两块地积在一起。上部图形的图例由较大的数字组成,因此图形被推到右侧。我已经看到了锚定的概念,但我没有实现它。我的想法是对齐左y轴。此外,子地块之间的空间有点太宽,有没有办法控制这种行为

有人能帮我吗

非常感谢,请大家注意安全

我创建了一些测试数据:

守则:

fig, host = plt.subplots(figsize=(8,4))
plt.title('test')
fig, hos = plt.subplots(figsize=(8,2))

par1 = host.twinx()

p1, = host.plot(df.ExpectedValueEUR, "b-", marker = 'o', label="ExpectedValueEUR")
p2, = par1.plot(df.Count, "r-", label="Count", ls='dotted')
p3, = hos.plot(df.Average, "g-", label="Average", ls='dashed')

host.set_ylim(1000000, 20000000)
par1.set_ylim(5, 100)
hos.set_ylim(0, 1200000)

hos.set_xlabel("Date")
host.set_ylabel("ExpectedValueEUR")
par1.set_ylabel("Count")
hos.set_ylabel("Average")

host.yaxis.label.set_color(p1.get_color())
par1.yaxis.label.set_color(p2.get_color())
hos.yaxis.label.set_color(p3.get_color())

tkw = dict(size=4, width=1.5)
host.tick_params(axis='y', colors=p1.get_color(), **tkw)
par1.tick_params(axis='y', colors=p2.get_color(), **tkw)
hos.tick_params(axis='y', colors=p3.get_color(), **tkw)
host.tick_params(axis='x', **tkw)

line1 = [p1, p2]
line2 = [p3]
host.legend(line1, [l.get_label() for l in line1])
hos.legend(line2, [l.get_label() for l in line2])

host.yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))
hos.yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))

plt.show()
图表如下所示:

我自己解决了。一个解决方案是在“一步走”中启动两个图。你能详细说明一下你的意思吗?