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

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

如何在 Seaborn 的分組箱線圖中添加垂直網格線?

如何在 Seaborn 的分組箱線圖中添加垂直網格線?

牛魔王的故事 2021-09-23 09:37:40
我想在 中創建一個boxplot帶有垂直網格線的分組seaborn,即在每個刻度處,應該有一條垂直線,就像在常規散點圖中一樣。一些示例代碼:import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npimport numpy.random as rndsome_x=[1,2,3,7,9,10,11,12,15,18]data_for_each_x=[]for i in range(0, len(some_x)):    rand_int=rnd.randint(10,30)    data_for_each_x.append([np.random.randn(rand_int)])sns.set()sns.boxplot(data=data_for_each_x, showfliers=False)plt.show()它的外觀:
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

如果我理解正確,您需要垂直的白色網格線而不是您當前獲得的水平線。這是一種方法:


創建一個軸對象ax,然后將其分配給sns.boxplot. 然后,你可以選擇使用一個布爾參數,以顯示其網格線ax.xaxis.grid和ax.yaxis.grid。由于您需要垂直網格線,因此請關閉 y 網格 ( False) 并打開 x 網格 ( True)。


import matplotlib.pyplot as plt

import seaborn as sns

import numpy as np

import numpy.random as rnd


fig, ax = plt.subplots() # define the axis object here

some_x=[1,2,3,7,9,10,11,12,15,18]

data_for_each_x=[]


for i in range(0, len(some_x)):

    rand_int=rnd.randint(10,30)

    data_for_each_x.append([np.random.randn(rand_int)])


sns.set()

sns.boxplot(data=data_for_each_x, showfliers=False, ax=ax) # pass the ax object here


ax.yaxis.grid(False) # Hide the horizontal gridlines

ax.xaxis.grid(True) # Show the vertical gridlines

如果您想同時顯示 x 和 y 網格,請使用 ax.grid(True)

http://img1.sycdn.imooc.com//614bdac20001e17405650424.jpg

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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