与 sns.barplot 一起绘制表格

2024-03-16

#read data into dataframe
con=pd.read_csv('testOutput.csv')

'''
testOutput.csv looks like :
Sample,Count
sample1,99.9
sample2, 96.6
'''


## set colours to increase with values
sns.set(style="darkgrid")
groupedvalues=con.groupby("Count").sum().reset_index()
pal = sns.color_palette("Greens_d", len(groupedvalues))
rank = groupedvalues["Count"].argsort().argsort()

#get summary stats of data
summary=pd.DataFrame(con['Count'].describe())
#set limits
maxLim=100
minLim=min(con['Count'])-0.1
#barplot horizontal
g=sns.barplot(x='Count', y ='Sample',data=groupedvalues,  palette=np.array(pal[::-1])[rank])
plt.xlim(minLim,maxLim)
plt.xticks(np.arange(minLim, 100, 0.1))
#remove labels
g.set(yticks=[])

g.set(xlabel='BLA BLA BLA', ylabel='Sample')
plt.table(cellText=summary.values,
          rowLabels=summary.index,
          colLabels=summary.columns,
          cellLoc = 'center', rowLoc = 'center',
          loc='right')
#plt.show()
plt.savefig('outTest.png', dpi=150)

This outputs :Test output This table on the right of the image is cut off. How do I fix this and also just round down to nearest 0.1 on the labels please?

Thanks


原则上,与中的策略相同这个问题 https://stackoverflow.com/questions/44401394/how-to-adjust-table-for-a-plot-more-space-for-table-and-graph-matplotlib-python的答案适用于此。

Using bbox

您可以使用以下命令在图表上自由定位表格bbox争论,bbox = [left, bottom, width, height] where left, bottom, width, height是轴的分数。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame({"count" : np.sort(np.random.rand(100))*100})

summary=pd.DataFrame(df['count'].describe())

plt.barh(range(len(df)),df["count"])

plt.table(cellText=summary.values,
          rowLabels=summary.index,
          colLabels=summary.columns,
          cellLoc = 'right', rowLoc = 'center',
          loc='right', bbox=[.65,.05,.3,.5])

plt.savefig("out.png")
plt.show()

这还允许通过选择大于 1 的参数将表格放在轴之外。为了为表格腾出空间,您可以缩小子图,plt.subplots_adjust(right=0.75).

plt.table(cellText=summary.values,
          rowLabels=summary.index,
          colLabels=summary.columns,
          cellLoc = 'right', rowLoc = 'center',
          loc='right', bbox=[1,.3,.3,.5])

plt.subplots_adjust(right=0.75)

使用专用子图

您可以使用专用的子图来放置表格。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame({"count" : np.sort(np.random.rand(100))*100})

summary=pd.DataFrame(df['count'].describe())

fig,(ax,tabax) = plt.subplots(ncols=2, gridspec_kw=dict(width_ratios=[2,1]))
ax.barh(range(len(df)),df["count"])

tabax.axis("off")
tabax.table(cellText=summary.values,
          rowLabels=summary.index,
          colLabels=summary.columns,
          cellLoc = 'right', rowLoc = 'center',
          loc='center')

plt.savefig("out.png")
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与 sns.barplot 一起绘制表格 的相关文章

  • 动态添加jinja模板

    我有一个 jinja 模板 它是一组 div 标签内的唯一内容 div include temppage html div 当我按下按钮时 我想用其他内容替换标签之间的所有内容 我希望用另一个 jinja 模板 include realpa
  • Twython - 如何使用媒体 url 更新状态

    在我的应用程序中 我允许用户在 Twitter 上发帖 现在我想让他们通过媒体更新他们的状态 In twython py我看到一个方法update status with media从文件系统读取图像并上传到 Twitter 我的图像不在文
  • 使用 PRAW 帮助获取 Reddit 帖子链接到的 URL

    我正在尝试使用 Praw 获取 Reddit 提交标题中链接的帖子 例如提交 http www reddit com r AdviceAnimals comments 1adu71 apparently people still need
  • Scrapy 仅抓取每个页面的第一个结果

    我目前正在尝试运行以下代码 但它只保留每个页面的第一个结果 知道可能是什么问题吗 from scrapy contrib spiders import CrawlSpider Rule from scrapy contrib linkext
  • 使用 Python 读取 App Engine 上的文件?

    是否可以在 GAE 上打开文件来读取其内容并获取最后修改的标签 我收到 IOError Errno 13 文件无法访问 我知道我无法删除或更新 但我相信阅读应该是可能的 有人遇到过类似的问题吗 os stat f r st mtim 您可能
  • 尽管 Matplotlib FuncAnimation(...,repeat=False) 保存的动画图不断循环

    我想使用制作动画matplotlib进行 Powerpoint 演示 动画应该只播放一次 在我的代码中 参数repeat of FuncAnimation 被设置为 false 因为我需要将图导入到powerpoint中 所以我使用保存它a
  • 使用 scikit 包在 Python 中绘制集群区域的边界

    这是我处理 3 个属性 x y 值 中的数据聚类的简单示例 每个样本代表其位置 x y 及其所属变量 我的代码发布在这里 x np arange 100 200 1 y np arange 100 200 1 value np random
  • Flask-Mail - 基于 Flask-Cookiecutter 异步发送电子邮件

    我的烧瓶项目基于烧瓶饼干切割机 https github com sloria cookiecutter flask我需要异步发送电子邮件 发送电子邮件的功能由以下配置米格尔的教程 https blog miguelgrinberg com
  • self.assertRaises 作为上下文管理器,但 msg 参数未按预期工作

    请检查以下代码 import unittest CORRECT MESSAGE Correct message WRONG MESSAGE Wrong message def fn raise KeyError CORRECT MESSAG
  • Jupyter 笔记本中未显示绘图

    我正在尝试为 Anscombe 数据集创建 2x2 图 加载数据集并分离数据集中的每个类 import seaborn as sns import matplotlib pyplot as plt anscombe sns load dat
  • 为什么你可以在字符串上重载 __radd__ 而不是 __rmod__ ?

    在Python中 您可以覆盖右 和左 加法运算符
  • 如何配置应用程序中的所有记录器

    Python 的日志记录模块允许模块或类定义自己的记录器 不同的记录器可以有不同的处理程序 其中一些可能选择记录到文件 而另一些则选择记录到标准输出 现在 我的应用程序使用其中几个模块 每个模块都有自己的记录器 这些记录器具有各种处理程序
  • Python Pandas DateOffset 使用另一列中的值

    我以为这会很容易 但下面的内容并不适合我想要的 只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列 我下面的 偏移 列只有 1 位数字 df new date df orig date apply lambda x
  • 使用 MinGW 链接到 Python

    我不想创建一个嵌入Python解释器的跨平台程序 并用MinGW编译它 但是 Python 二进制发行版没有提供 MinGW 链接的库 仅python32 lib对于 Visual C 并且 Python 源包不提供使用 MinGW 编译的
  • 如何检索 SQLAlchemy 结果集的 python 列表? [复制]

    这个问题在这里已经有答案了 我有以下查询来检索单列数据 routes query select schema stop times c route number schema stop times c stop id stop id dis
  • Python中矩阵元素的双重求和

    基于下面的简化示例 我想在我的代码中 from sympy import import numpy as np init printing x y symbols x y mat Matrix x 1 1 y X 1 2 3 Y 10 20
  • 设置 Pyenv 的路径

    我正在尝试在我的服务器中设置 Pyenv 的加载路径 bashrc file 我正在关注这个tutorial https realpython com intro to pyenv 它要求我们在哪里设置pyenv到加载路径 然而 在我的 b
  • Django:单击按钮加载另一个模板

    我已经在 django 项目上工作了几个星期 只是玩玩以便掌握它的窍门 我有点困惑 我现在有一个名为 home html 的模板 我想知道是否可以将另一个名为 profile html 的模板设置为 home html 模板上的链接 我有一
  • 重定向到破折号中的 url

    我正在使用 dash 构建一个仪表板 每当单击特定数据点时 我都会创建一个唯一的 url 如何将用户重定向到此创建的 url 我正在使用下面给出的代码 每当有人单击任何数据点时 单击事件就会触发并执行回调函数 app layout html
  • 如何将 c_uint 的 ctypes 数组转换为 numpy 数组

    我有以下 ctypes 数组 data ctypes c uint 100 我想创建一个 numpy 数组np data包含来自 ctypes 数组数据的整数值 ctypes 数组显然稍后会填充值 我看到numpy中有一个ctypes接口

随机推荐

  • ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

    我的startup cs 中有以下代码 当 Web API 项目部署到 IIS 中网站的根目录时 在 IIS Express 中设置 TokenEndpointPath 效果非常好 但是 如果我托管在 IIS 中的嵌套应用程序 即网站内的应
  • 使用php从linux访问windows共享文件夹

    我需要能够使用在 Linux 服务器上运行的 php 脚本访问多个 Windows 服务器上的一些共享文件夹 我只需要获取文件夹中包含的文件的名称以及创建它们的时间戳 到目前为止 我想到的唯一解决方案是在 Linux 中安装共享并从那里访问
  • C# 在锯齿状数组中快速查找值的方法

    我有一个锯齿状数组String 现在我需要找到具有特定值的数组String n 0 我现在所拥有的只是一个简单的 foreach foo in bar if foo 0 needle return foo 正如您所看到的 由于显而易见的原因
  • 在 setup.py 中安装 numpy + pandas 作为依赖项

    安装中numpy pandas通过 setuptools 作为 setup py 中的依赖项对我不起作用 这与缺少依赖项无关 如果我通过安装 numpypip install numpy然后python setup py develop一切
  • 将两种不同的字体样式应用于 TextView

    我想将两种不同的字体样式应用于单个 TextView 中的文本 我的情况与Android 两句话 两种样式 一个TextView https stackoverflow com questions 8999781 android two s
  • 检测客户端中止请求 Jersey

    我有 Jersey 提供轻松的网络服务 客户端经常会中止通过 ajax 完成的请求 使用 ajax 中止方法 如下所述中止 ajax 请求 https stackoverflow com questions 4551175 how to c
  • 构造函数中引发的异常的处理程序是什么? [复制]

    这个问题在这里已经有答案了 我是 C 异常处理的新手 我心中的规则是 如果没有找到异常处理程序调用链 函数调用的堆栈 然后终止函数被调用 处理程序是一个catch block 但是 我无法理解以下行为 include
  • Java重复模式匹配

    我正在尝试获取 Java 中简单正则表达式的每个重复匹配项 它匹配 中包含的任何字符串 只要它不包含 字符 例如 它会匹配 a nice repetitive pattern 事先不知道存在多少个这样的组 并且我无法找到通过模式匹配器访问各
  • 当从 dom-repeat 函数设置时,属性更改未反映在 UI 中 - Polymer

    我有对象数组和属性 我的 dom repeat 结构如下所示
  • 您正在使用 Microsoft 企业库吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在android中添加徽章到选项卡

    我想像在 iPhone 中一样在我的应用程序中添加徽章到选项卡 iPhone 中使用的徽章屏幕截图位于以下链接 i have done some image like badge in android app its screen shot
  • R:删除数值向量中的 NA

    我是一名 R 新手 面临一些挑战 我正在处理一个从 csv 文件中读取的大型数据框 我的数值向量包含 NA 这阻止我进行分析 如何摆脱这些 NA 以便我可以真正利用我的数据做一些事情 对于特定变量 x is na x or na omit
  • Stripe 结账不接受元数据

    我已经集成了 Stripe checkout 最新版本 并且需要发送额外的数据 以便我可以协调以后的 webhook Stripe 拒绝元数据并出现以下错误 Fatal error Uncaught exception Stripe Err
  • 我是否需要付费 Apple 开发者帐户才能获得 .p12 认证来推送通知?

    我正在使用 iOS 测试 AWS Mobile Hub 以实现推送通知功能 AWS 要求上传 p12 证书 该证书可以通过 Apple Developer 网站获取 但根据教程 维护标识符 设备和配置文件 没有出现在我的 Apple 开发者
  • 如何使用 JavaScript 循环长字符串以在每次匹配后插入新字符串

    我有一个变量 其中包含表示 XML 文档的长字符串 在该字符串中 我需要搜索每个自关闭标签并扩展到两个匹配的开始 结束标签 我真的不知道如何解决这个问题 非常感谢您的建议 此时 我所知道的是如何通过正则表达式匹配自关闭标签 lt gt 这是
  • 使用 groupby 后在 Pandas 中计算 np.diff 会导致意外结果

    我有一个数据框 我正在尝试向其附加一列连续差异 我找到了一种我非常喜欢的方法 并且很好地概括了我的用例 但一路上我注意到一件奇怪的事情 你能帮我理解一下吗 这是一些具有正确结构的数据 根据答案建模的代码here https stackove
  • C++ 构建器中的线程[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是 C 构建器的新手 不熟悉线程
  • 如何在私人项目 gitlab 中使用个人访问令牌通过 https 进行 git 克隆

    我想在我的 mac 上 git 克隆一个具有两因素身份验证的私有存储库 我的 gitlab 中已经有一个个人访问令牌 并且我正在尝试找到在 vscode 终端上运行的正确命令 omarfuentes 192 git 克隆https gitl
  • 如何在Jquery或Phonegap跨平台中获取IP地址

    如何在 Jquery 或 Phonegap 中获取 IP 地址 我正在为 Android Iphone 和 Windows 开发跨平台应用程序 我需要找到请求的IP地址 这很简单 getJSON http jsonip appspot co
  • 与 sns.barplot 一起绘制表格

    read data into dataframe con pd read csv testOutput csv testOutput csv looks like Sample Count sample1 99 9 sample2 96 6