亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

twinx 網格線的可見性

twinx 網格線的可見性

尚方寶劍之說 2021-12-17 16:33:02
使用 來創建具有兩個不同高度比例的重疊條形圖時Axes.twinx(),我無法將“雙”軸集的垂直網格線設置為可見。水平線雖然工作正常。關于如何解決這個問題的任何想法?下面是一些示例代碼,說明了我想做什么和我不能做什么。正如所見,垂直網格線被 的紅色條隱藏ax2,而我希望網格線通過所有條可見。# Create figure and figure layoutax1 = plt.subplot()ax2 = ax1.twinx()# Example datax = [0, 1, 2, 3, 4, 5]h1 = [55, 63, 70, 84, 73, 93]h2 = [4, 5, 4, 7, 4, 3]# Plot barsh1_bars = ax1.bar(x, h1, width=0.6, color='darkblue')h2_bars = ax2.bar(x, h2, width=0.6, color='darkred')# Set y limits and grid visibilityfor ax, ylim in zip([ax1, ax2], [100, 10]):    ax.set_ylim(0, ylim)    ax.grid(True)出現錯誤是因為 的垂直網格線ax2未設置為可見。這可以通過設置來測試ax1.grid(False),在這種情況下,只有水平網格線。我已經試過的所有組合ax1.xaxis.grid(True),ax1.yaxis.grid(True),ax2.xaxis.grid(True)并ax2.yaxis.grid(True)沒有任何的運氣。對此事的任何幫助深表感謝!
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

您可以恢復 ax1 和 ax2 的角色,這樣藍色條在 ax2 上,紅色條在 ax1 上。然后您需要將雙軸放在背景中,并在圖的另一側勾選相應的 y 軸。


import matplotlib.pyplot as plt


# Create figure and figure layout

ax1 = plt.subplot()

ax2 = ax1.twinx()


# Example data

x = [0, 1, 2, 3, 4, 5]

h1 = [55, 63, 70, 84, 73, 93]

h2 = [4, 5, 4, 7, 4, 3]


# Plot bars

h1_bars = ax2.bar(x, h1, width=0.6, color='darkblue')

h2_bars = ax1.bar(x, h2, width=0.6, color='darkred')


# Set y limits and grid visibility

for ax, ylim in zip([ax1, ax2], [10, 100]):

    ax.set_ylim(0, ylim)

    ax.grid(True)



ax1.set_zorder(1)

ax1.patch.set_alpha(0)

ax2.set_zorder(0)


ax1.yaxis.tick_right()

ax2.yaxis.tick_left()


plt.show()

http://img1.sycdn.imooc.com//61bc4b6f0001552e06010430.jpg

查看完整回答
反對 回復 2021-12-17
  • 1 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號