当前位置: 首页 > 知识库问答 >
问题:

添加计数、打印总数和删除特定标签

娄浩荡
2023-03-14

嗨,我有以下代码。该代码处于 for 循环中,它生成了 300 多个绘图。

    sns.set(style='white', palette='cubehelix', font='sans-serif')
    fig, axs = plt.subplots(2, 3, dpi =200);
    fig.subplots_adjust(hspace=0.5, wspace=1)
    plt.tick_params(
    axis='x',          # changes apply to the x-axis
    which='both',      # both major and minor ticks are affected
    bottom=False,      # ticks along the bottom edge are off
    top=False,         # ticks along the top edge are off
    labelbottom=False) # labels along the bottom edge are off
    #tmppath = 'path/{0}'.format(key);
    ##
    sns.countplot(y='Ethnicity', data=value, orient='h', ax=axs[0,0]);
    sns.despine(top=True, right=True, left=True, bottom=True,offset=True)
    sns.countplot(y='Program Ratio', data=value,orient='v',ax=axs[1,0]);
    sns.despine(offset=True)
    sns.countplot(y='Site', data = value, ax=axs[0,1]);
    sns.despine(offset=True)
    sns.countplot(y='HOUSING_STATUS', data = value, ax = axs[1,1])
    sns.despine(offset=True)
    sns.countplot(y='Alt. Assessment', data = value, ax = axs[0,2])
    sns.despine(offset=True)
    pth = os.path.join(tmppath, '{0}'.format(key))
    for p in axs.patches:
         ax.text(p.get_x() + p.get_width()/2., p.get_width(), '%d' % 
          int(p.get_width()), 
          fontsize=12, color='red', ha='center', va='bottom')
    #plt.tight_layout(pad=2.0, w_pad=1.0, h_pad=2.0);
    plt.set_title('{0}'.format(key)+'Summary')
    sns.despine()
    axs[0,0].set_xticklabels('','Ethnicity')
    axs[1,0].set_axis_labels('','Program Ratio')
    axs[0,1].set_axis_labels('','Students by Site')
    axs[1,1].set_axis_labels('','Housing Status')
    axs[0,2].set_axis_labels('','Alt Assessment')
    fig.tight_layout()
    fig.subplots_adjust(top=0.88)
    fig.suptitle('{0}'.format(key)+' Summary')
    plt.suptitle('{0}'.format(key)+' Summary')
    plt.savefig("path/{0}/{1}.pdf".format(key,key), bbox_inches = 'tight'); 
    plt.clf()
    plt.suptitle('{0} Summary'.format(key))
    plt.savefig("path/{0}/{1}.pdf".format(key,key), bbox_inches = 'tight'); 
    plt.clf()

我已经查看了下面的链接(以及更多):

  • 删除垫图中的 xtick?
  • https://datascience.stackexchange.com/questions/48035/how-to-show-percentage-text-next-to-the-horizontal-bars-in-matplotlib

当我尝试第二个链接的方法时。我最终得到了这样的图表

没有这个,图表看起来像这样

我想摆脱单词计数和每个子情节xaxis上的刻度。

共有1个答案

申嘉慕
2023-03-14

@Ernest的重要性

谢谢,我遵循了你的建议和这篇文章。

这是我最后得到的一个精简版本

sns.set(style='white', palette=sns.palplot(sns.color_palette(ui)), font='sans-serif')
        plt.figure(figsize=(20,20))
        fig, axs2 = plt.subplots(2, 3, dpi =300);
        fig.subplots_adjust(top=.8)
        fig.subplots_adjust(hspace=1, wspace=1.5)
        plt.tick_params(
        axis='x',          # changes apply to the x-axis
        which='both',      # both major and minor ticks are affected
        bottom=False,      # ticks along the bottom edge are off
        top=False,         # ticks along the top edge are off
        labelbottom=False) # labels along the bottom edge are off

sns.countplot(y='column',palette = ui,order = df.value_counts().index, data=df, 
                      orient='h', ax=axs2[0,0]);
axs2[0,0].set_xlabel('')
axs2[0,0].set_xticks([])
axs2[0,0].set_ylabel('')
axs2[0,0].set_title('label',size = 'small')
axs2[0,0].tick_params(axis='y', which='major', labelsize=8)

sns.despine(top=True, right=True, left=True, bottom=True,offset=True)
for p in axs2[0,0].patches:
      axs2[0,0].annotate(int(p.get_width()),((p.get_x() + p.get_width()), p.get_y()), xytext=(15, -10), fontsize=8,color='#000000',textcoords='offset points'
                 ,horizontalalignment='center')

fig.suptitle('{0}@{1}'.format(dur,key)+' Summary', va = 'top', ha= 'center') #size = 'small')

props = dict(boxstyle='square', facecolor='white', alpha=0.5)
fig.text(0.85, 0.925, dt.date.today().strftime("%b %d, %Y"),  fontsize=9, verticalalignment='top', bbox=props)
fig.text(0.15, 0.925, 'No. of stuff'+ str(len(value['column'].unique())),fontsize = 10, va = 'top', ha = 'center')
plt.savefig("path/{0}/{1} @ {2}.pdf".format(dur,dur,key), bbox_inches = 'tight'); 
plt.clf()
plt.close('all')

请原谅黑色标记,不想显示信息

 类似资料:
  • 问题内容: 如下所示,为什么在我的原始计数器中实现吹走密钥? 我认为这至少是不礼貌的,“ X被计数0次”和“我们什至没有计算Xs”之间都有很大的区别。似乎根本不是一个计数器,它更像是一个多集。 但是计数器是dict的子类, 我们可以将其构造为零或负值:。如果它实际上是“一袋东西”,这是否不被禁止,限制init接受可迭代的可哈希项? 为了进一步混淆事务,计数器实现和方法的行为与和操作员不同。看来这堂

  • 假设我有以下代码,它使用pandas绘制了一些非常简单的东西: 如何轻松设置x和y标签,同时保留使用特定颜色贴图的能力?我注意到pandas DataFrames的包装器没有任何特定的参数。

  • WordPress有一个名为的内置过滤器,可以在可视化模式下添加文本。此函数添加

  • 主要内容:JSF数据表添加删除实例JSF中有一个叫作的控件,可用来渲染和格式化表格。使用,我们可以迭代收集或数组数组来显示数据。 具有以简单的方式修改其数据的属性。 要使用,我们需要添加以下HTML头。 以下JSF标签 - 被渲染成以下HTML标签。 JSF数据表添加删除实例 打开 NetBeans IDE 创建一个Web工程:DataTableAddDelete,其目录结构如下所示 - 创建以下文件代码,文件:index.xht

  • ADDING AND REMOVING SOFTWARE Linux 或任何操作系统中最基本的任务之一便是添加和删除软件。您经常需要安装发行版中没有附带的软件,或者删除不需要的软件,这样就不会占用硬盘空间。 有些软件安装需要依赖其他软件才能运行,有时您会发现您可以在软件包安装过程中一次性下载所需的所有软件,软件包是一组文件(通常是库和其他依赖项),您需要这些文件才能使软件成功运行。当您安装一个包时

  • 在 Dreamweaver 中添加、修改和删除标签库、标签、属性和属性值。设置标签库的属性。 Dreamweaver 中的标签库是包含特殊类型的标签以及有关 Dreamweaver 应如何设置标签格式的信息的集合。标签库提供有关 Dreamweaver 用于代码提示、目标浏览器检查、标签选择器和其它编码功能的标签的信息。使用标签库编辑器,您可以添加和删除标签库、标签、属性和属性值,可以设置标签库的