plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] z = 0 while (z <= 9): data1 = data.loc[:, [num_columns[z], 'y']] # ax = plt.subplot(3, 3, z + 1) f = pd.melt(data1, value_vars=num_columns[z], id_vars='y') g = sns.FacetGrid(f, col='variable', hue='y') z = z + 1 g = g.map(sns.distplot, "value", bins=20) plt.show()
时间: 2024-04-12 21:34:02 浏览: 163
基于plt.title无法显示中文的快速解决
这段代码使用了matplotlib和seaborn库来绘制数据分布图。首先,通过设置字体为'Microsoft YaHei'来解决中文显示问题。然后,使用一个循环来处理数据集中的每个变量。在每次循环中,从数据集中选择一个数值型变量和目标变量,创建一个新的数据集data1。接下来,使用pd.melt函数将data1转换为适合绘制分布图的格式。然后,创建一个FacetGrid对象g,并使用变量'variable'和'hue'来分组数据。最后,使用sns.distplot函数绘制分布图,并设置bin数为20。循环结束后,调用plt.show()来显示所有的分布图。
阅读全文