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

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

如何在水平堆疊的條形圖中構(gòu)建層次結(jié)構(gòu)標(biāo)簽

如何在水平堆疊的條形圖中構(gòu)建層次結(jié)構(gòu)標(biāo)簽

達(dá)令說 2021-05-07 18:19:07
我想要一個水平堆疊的條形圖,在y軸上帶有層次結(jié)構(gòu)標(biāo)簽。我搜索了一下,發(fā)現(xiàn)以下漂亮的示例和代碼。但這是垂直堆疊的條形圖。我想將其應(yīng)用于水平條形圖,因此我只是進(jìn)行了更改kind='barh',但這是行不通的。我設(shè)法通過在最后幾行中將所有x更改為y來刪除默認(rèn)的ylabel。但是在定義的函數(shù)中將x更改為y并沒有給我我想要的:層次結(jié)構(gòu)標(biāo)簽仍在x軸上。有人可以幫忙嗎?謝謝。PS:把事情少凌亂,我貼出的原代碼我從第2答案發(fā)現(xiàn)了這個問題,而不是一個我試圖修改import pandas as pdimport numpy as npfrom matplotlib import pyplot as pltfrom itertools import groupbydef test_table():data_table = pd.DataFrame({'Room': ['Room A'] * 4 + ['Room B'] * 3,                       'Shelf': ['Shelf 1'] * 2 + ['Shelf 2'] * 2 + ['Shelf 1'] * 2 + ['Shelf 2'],                       'Staple':['Milk', 'Water', 'Sugar', 'Honey', 'Wheat', 'Corn', 'Chicken'],                       'Quantity': [10, 20, 5, 6, 4, 7, 2,],                       'Ordered': np.random.randint(0, 10, 7)                       })data_tabledef add_line(ax, xpos, ypos):line = plt.Line2D([xpos, xpos], [ypos + .1, ypos],                  transform=ax.transAxes, color='black')line.set_clip_on(False)ax.add_line(line)def label_len(my_index,level):labels = my_index.get_level_values(level)return [(k, sum(1 for i in g)) for k,g in groupby(labels)]def label_group_bar_table(ax, df):ypos = -.1scale = 1./df.index.sizefor level in range(df.index.nlevels)[::-1]:    pos = 0    for label, rpos in label_len(df.index,level):        lxpos = (pos + .5 * rpos)*scale        ax.text(lxpos, ypos, label, ha='center', transform=ax.transAxes)        add_line(ax, pos*scale, ypos)        pos += rpos    add_line(ax, pos*scale , ypos)    ypos -= .1df = test_table().groupby(['Room','Shelf','Staple']).sum()fig = plt.figure()ax = fig.add_subplot(111)df.plot(kind='bar',stacked=True,ax=fig.gca())#Below 3 lines remove default labelslabels = ['' for item in ax.get_xticklabels()]ax.set_xticklabels(labels)ax.set_xlabel('')label_group_bar_table(ax, df)fig.subplots_adjust(bottom=.1*df.index.nlevels)plt.show()Python
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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