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

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

使用數(shù)據(jù)框中的 matplotlib 并排繪制多個(gè)箱線圖

使用數(shù)據(jù)框中的 matplotlib 并排繪制多個(gè)箱線圖

一只名叫tom的貓 2022-12-27 16:36:57
我正在嘗試從一個(gè)數(shù)據(jù)框中并排繪制 60 多個(gè)箱線圖,我想知道是否有人可以提出一些可能的解決方案。目前我有df_new一個(gè)包含 66 列的數(shù)據(jù)框,我用它來繪制箱線圖。我發(fā)現(xiàn)繪制箱線圖的最簡(jiǎn)單方法是使用 pandas 中的箱線圖包:boxplot = df_new.boxplot(column=x, figsize = (100,50))這給了我一個(gè)非常非常小的圖表,軸難以辨認(rèn),我似乎無法更改字體大小,所以我試圖在 matplotlib 中本地執(zhí)行此操作,但我想不出一種有效的方法。我試圖避免使用類似以下內(nèi)容創(chuàng)建 66 個(gè)單獨(dú)的箱線圖:fig, ax = plt.subplots(nrows = 1,                        ncols = 66,                         figsize = (10,5),                        sharex = True) ax[0,0].boxplot(#insert parameters here)我實(shí)際上不知道如何將數(shù)據(jù)從 df_new.describe() 獲取到箱線圖函數(shù)中,所以任何關(guān)于此的提示將不勝感激!文檔令人困惑。不確定 x 向量應(yīng)該是什么。理想情況下,我只想為箱線圖函數(shù)提供數(shù)據(jù)框,并讓它通過動(dòng)態(tài)計(jì)算所有四分位數(shù)、列分隔等來自動(dòng)創(chuàng)建所有箱線圖——這甚至可能嗎?
查看完整描述

1 回答

?
桃花長(zhǎng)相依

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

我嘗試將 the 替換為boxplotridge plot,它占用的空間更少,因?yàn)椋?/p>

  1. 它需要寬度的一半

  2. 你可以部分重疊山脊

  3. 它是垂直發(fā)展的,所以你可以向下滾動(dòng)所有的情節(jié)

我從seaborn 文檔中獲取代碼并對(duì)其進(jìn)行了一些調(diào)整,以便擁有 60 個(gè)不同的正態(tài)分布的脊;這里的代碼:

import numpy as np

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

import itertools

sns.set(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})


# # Create the data

n = 20

x = list(np.random.randn(1, 60)[0])

g = [item[0] + item[1] for item in list(itertools.product(list('ABCDEFGHIJ'), list('123456')))]

df = pd.DataFrame({'x': n*x,

                   'g': n*g})


# Initialize the FacetGrid object

pal = sns.cubehelix_palette(10, rot=-.25, light=.7)

g = sns.FacetGrid(df, row="g", hue="g", aspect=15, height=.5, palette=pal)


# Draw the densities in a few steps

g.map(sns.kdeplot, "x", clip_on=False, shade=True, alpha=1, lw=1.5, bw=.2)

g.map(sns.kdeplot, "x", clip_on=False, color="w", lw=2, bw=.2)

g.map(plt.axhline, y=0, lw=2, clip_on=False)



# Define and use a simple function to label the plot in axes coordinates

def label(x, color, label):

    ax = plt.gca()

    ax.text(0, .2, label, fontweight="bold", color=color,

            ha="left", va="center", transform=ax.transAxes)



g.map(label, "x")


# Set the subplots to overlap

g.fig.subplots_adjust(hspace=-.25)


# Remove axes details that don't play well with overlap

g.set_titles("")

g.set(yticks=[])

g.despine(bottom=True, left=True)


plt.show()

這是我得到的結(jié)果:


http://img1.sycdn.imooc.com//63aaaedd0001ca9a03151288.jpg

我不知道它是否適合您的需求,無論如何請(qǐng)記住,將如此多的發(fā)行版彼此相鄰放置總是需要大量空間(和非常大的屏幕)。也許您可以嘗試將分布分成更小的組并一次繪制一點(diǎn)?



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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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