![](/img/trans.png)
[英]How to add a boxplot of combined groups into the plot of grouped boxplots in Seaborn?
[英]How to add vertical grid lines in a grouped boxplot in Seaborn?
我想創建一個在seaborn
具有垂直網格線的分組boxplot
,即,在每個刻度線處,應該有一條垂直線,就像在常規散點圖中一樣。
一些示例代碼:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import numpy.random as rnd
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)
plt.show()
看起來如何:
如果我理解正確,你需要垂直的白色網格線而不是你當前獲得的水平線。 這是一種方法:
創建一個軸對象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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.