gpt4 book ai didi

python - 如何使用 Matplotlib 对齐两个 y 轴刻度的网格线?

转载 作者:IT老高 更新时间:2023-10-28 22:08:12 29 4
gpt4 key购买 nike

我在 y 轴上绘制了两个具有不同单位的数据集。有没有办法让刻度线和网格线在两个 y 轴上对齐?

第一张图片显示我得到了什么,第二张图片显示我想要得到什么。

这是我用来绘图的代码:

import seaborn as sns
import numpy as np
import pandas as pd

np.random.seed(0)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(pd.Series(np.random.uniform(0, 1, size=10)))
ax2 = ax1.twinx()
ax2.plot(pd.Series(np.random.uniform(10, 20, size=10)), color='r')

Example of unwanted behavior

Example of wanted behavior

最佳答案

我不确定这是否是最漂亮的方法,但它确实用一行来解决它:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd

np.random.seed(0)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(pd.Series(np.random.uniform(0, 1, size=10)))
ax2 = ax1.twinx()
ax2.plot(pd.Series(np.random.uniform(10, 20, size=10)), color='r')

# ADD THIS LINE
ax2.set_yticks(np.linspace(ax2.get_yticks()[0], ax2.get_yticks()[-1], len(ax1.get_yticks())))

plt.show()

关于python - 如何使用 Matplotlib 对齐两个 y 轴刻度的网格线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752464/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com