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

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

在 python 上的水平箱和晶須圖上標記 Q1、Q2、Q3、最小值和最大值

在 python 上的水平箱和晶須圖上標記 Q1、Q2、Q3、最小值和最大值

子衿沉夜 2023-08-22 10:33:09
我想通過標記 Q1、Q2、Q3、最小值和最大值來標記水平箱線圖。該網站上有很多答案,但每個答案都集中在垂直箱線圖上。這些是我的代碼如下:import matplotlib.pyplot as plt;import seaborn as sns;sns.set()from numpy import *;fig, (ax1,ax2) =plt.subplots(2)a = 1000+random.randn(1000)print(a)red_square = dict(markerfacecolor='r', marker='s')ax1.boxplot(a, vert=False, flierprops=red_square)plt.show()你能幫我嗎? 
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

您可以使用matplotlib 中的boxplot_stats來獲取 Q1、Q2 和中位數(或者您基本上自己計算)。最小值和最大值不包括在內,您必須計算它。大致如下所示的內容應該有效:


import matplotlib.pyplot as plt;

import seaborn as sns;sns.set()

from numpy import *;


fig,ax1 =plt.subplots(1)

a = 1000+random.randn(1000)


red_square = dict(markerfacecolor='r', marker='s')

ax1.boxplot(a, vert=False, flierprops=red_square)


from matplotlib import cbook

data = cbook.boxplot_stats(a)


values = [data[0][i] for i in ['q1','med','q3']] + [min(a),max(a)]

for v in values:

? ? ax1.text(v,1.2,str(round(v,1)),fontsize=8,horizontalalignment='center')

https://img1.sycdn.imooc.com/64e41eae0001dd9b03610245.jpg

查看完整回答
反對 回復 2023-08-22
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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