在 python 中使用 for 循环的子图
subplot using for loop in python
fig, axes = plt.subplots(1, len(num_col), figsize=(100, 30))
for j,k in enumerate(num_col):
sb.boxplot(y = k, data=data,ax = axes[j],)
我用上面的代码做了这个子图,但我想让它更清楚
我想清楚地看到 y 标签并为子图创建更多行。
I want to make it more clear.
I wanna see y label clearly
对于这个问题你需要使用subplots.adjust和ylabels fontsize
Make more rows for subplot.
检查下面修改后的代码
import numpy as np
import matplotlib.pylab as plt
import seaborn as sb
data = sb.load_dataset("tips")
num_col = data.select_dtypes(include=[np.number]).columns.tolist()
rows = 2
if((((len(num_col) + 1)/rows)%rows) ==0): #when num of cols are divisable by rows
cols = (len(num_col)+1)/rows
else:
cols = ((len(num_col)+1)/rows) + ((len(num_col)/rows)%rows)
fig, axs = plt.subplots(rows,cols, figsize=(10,10))
fig.subplots_adjust(hspace = 0.1, wspace=0.5)
axs = axs.ravel()
for j,k in enumerate(num_col):
b = sb.boxplot(y = k, data=data,ax = axs[j],)
b.set_ylabel(k,fontsize=20)
给予
P.S。 : 提供一小部分数据样本和带有导入的完整代码以使其可重现始终是一个好习惯。
fig, axes = plt.subplots(1, len(num_col), figsize=(100, 30))
for j,k in enumerate(num_col):
sb.boxplot(y = k, data=data,ax = axes[j],)
我用上面的代码做了这个子图,但我想让它更清楚
我想清楚地看到 y 标签并为子图创建更多行。
I want to make it more clear. I wanna see y label clearly
对于这个问题你需要使用subplots.adjust和ylabels fontsize
Make more rows for subplot.
检查下面修改后的代码
import numpy as np
import matplotlib.pylab as plt
import seaborn as sb
data = sb.load_dataset("tips")
num_col = data.select_dtypes(include=[np.number]).columns.tolist()
rows = 2
if((((len(num_col) + 1)/rows)%rows) ==0): #when num of cols are divisable by rows
cols = (len(num_col)+1)/rows
else:
cols = ((len(num_col)+1)/rows) + ((len(num_col)/rows)%rows)
fig, axs = plt.subplots(rows,cols, figsize=(10,10))
fig.subplots_adjust(hspace = 0.1, wspace=0.5)
axs = axs.ravel()
for j,k in enumerate(num_col):
b = sb.boxplot(y = k, data=data,ax = axs[j],)
b.set_ylabel(k,fontsize=20)
给予
P.S。 : 提供一小部分数据样本和带有导入的完整代码以使其可重现始终是一个好习惯。