第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Seaborn 和 Matplotlib 在熱圖和線圖的共享子圖中對(duì)齊 x 軸刻度線

使用 Seaborn 和 Matplotlib 在熱圖和線圖的共享子圖中對(duì)齊 x 軸刻度線

嗶嗶one 2022-09-27 16:08:57
使用具有共享 x 軸的 Seaborn 繪制熱圖和線圖時(shí),熱圖的刻度線被放置在熱圖條的中間。因此,底線圖將繼承熱圖刻度的位置和標(biāo)簽,而不是反映真實(shí)數(shù)據(jù),因?yàn)榫€圖刻度應(yīng)從零開(kāi)始。換句話說(shuō),我需要將兩個(gè)圖的刻度線從 x 軸原點(diǎn)開(kāi)始(最佳),或者將線圖向右移動(dòng)熱圖像元寬度的一半,從而保留刻度位置和標(biāo)簽(hacky)。下面的代碼快速重現(xiàn)了問(wèn)題:f,[ax_heat,ax_line]=plt.subplots(nrows=2,figsize=(10, 8),sharex=True)data_heat = np.random.rand(4, 6)data_line= np.random.randn(6,1)sb.heatmap(data=data_heat,robust=True, center=0,cbar=False, ax=ax_heat)sb.lineplot(data=data_line, ax=ax_line)
查看完整描述

2 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

這是一個(gè)笨拙的解決方案,但您可以將x軸向左移動(dòng)寬度的一半:


import numpy as np

import matplotlib.pyplot as plt

import seaborn as sb


f,[ax_heat,ax_line]=plt.subplots(nrows=2,figsize=(10, 8),sharex=True)


data_heat = np.random.rand(4, 6)

data_line = np.random.randn(6,1)


# generalizable code regardless of spacing:

ax = sb.heatmap(data=data_heat,robust=True, center=0,cbar=False, ax=ax_heat)

width = ax.get_xticks()[1] - ax.get_xticks()[0]

new_ax = ax.get_xticks() - 0.5*width

ax.set_xticks(new_ax)

sb.lineplot(data=data_line, ax=ax_line)

plt.show()


查看完整回答
反對(duì) 回復(fù) 2022-09-27
?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

要將兩個(gè)繪圖的刻度線從 x 軸原點(diǎn)開(kāi)始,只需在代碼末尾添加以下行:

plt.xticks(plt.xticks()[0] - 0.5)

解釋:

plt.xticks()返回 x-tick 位置和標(biāo)簽,因此我們可以通過(guò)索引來(lái)訪問(wèn)這些位置。事實(shí)證明,這只是一個(gè)連續(xù)整數(shù)值的列表,因此我們可以通過(guò)減去0.5將它們向左移動(dòng)半個(gè)級(jí)別。[0]

(部分復(fù)制自我對(duì)另一個(gè)問(wèn)題的回答)


查看完整回答
反對(duì) 回復(fù) 2022-09-27
  • 2 回答
  • 0 關(guān)注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)