Python 使用pandas + plotly 制作GR&R report

这篇具有很好参考价值的文章主要介绍了Python 使用pandas + plotly 制作GR&R report。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上次使用plotly 制作了表格,但是GRR报告上还需要极差、平均值这类的chart图,这里用plotly生成这类图并转换为html格式用网页显示。

Python 使用pandas + plotly 制作GR&R report

图的类型按照MSA上的分析图来制作,图上的数据使用pandas处理好,得到part和appraiser的平均值,极差。

Plotly 这里简单处理用多子图来呈现,(不会js,css排版这里4张chart放在一个画布上不用排版了)。

X_chart = subplots.make_subplots(rows=2, cols=2)
ucrlist = []
            for e in range(self.sampleNumber):
                ucrlist.append(UCR[self.data_columns[i]])
            for r in range(self.opNumber):
                r_chart= self.R_chart(title, r)
                X_chart.add_trace(r_chart, row=1, col=1)
                X_chart.add_trace(self.Mean_chart(title, r), row=1, col=2)
                op_av_value = self.op_av_list[r]
                X_chart.add_trace(self.samp_mean_chart(title, op_av_value, r),row=2, col=2)
            X_chart.add_trace(go.Scatter(x=self.opName, y=self.x_mean_pd[title], name='mean'), row=1, col=2)
            X_chart.add_trace(go.Scatter(x=self.sampleName, y=ucrlist, name='UCR', marker={'color':'red'}, line={'dash':'dot'}), row=1, col=1)
            for t in range(self.sampleNumber):
                samples = self.data[self.data['SerialNumber']==self.sampleName[t]]
                x_data_list = []
                for y in range(self.opNumber*self.Grr_r):
                    x_data_list.append(self.sampleName[t])
                X_chart.add_trace(self.samp_chart(title, x_data_list, samples, t), row=2, col=1)
            ixx = self.tabData[self.tabData['test_item'] == title].index.tolist()[0]
            grrValue =float(self.tabData.loc[ixx,'GRR'])

多子图这里有个问题我没找到处理方法,就是每个图例不能放在子图里面。

所有项目图制作完成并转换为html格式:

X_chart.to_html(chart, include_plotlyjs=False, full_html=False)

参数说明include_plotlyjs:输出html是否包含Js脚本,如果项目多的话最后生成的文件太大,这里选择false,full_html:这里选false 输出只要div格式就好因为最后要和表格在同一html下。

最后把生成的html数据用Jinja2保存到html模板中去:

env = Environment(loader=FileSystemLoader("./"))
        template = env.get_template('temp.html')
        with open('out.html','w+', encoding='utf-8') as f:
            out = template.render(items=tabChart,chart=sumChart,
                                  report_op=self.reportBy,
                                  report_date=time)
            f.write(out)

Python 使用pandas + plotly 制作GR&R report

 初学python写的不太好,这里只是记录下学习的过程,并且这个报表还有很多问题没有解决,最大的问题是测试项目多了(200+)需要生成的图太多,最后打开html文件会加载半天或者卡死,下次尝试下plotly官网的Dash框架看看。

参考文章:用Python制作一份HTML报告 - 知乎

plotly官网API:Python API reference for plotly — 5.6.0 documentation文章来源地址https://www.toymoban.com/news/detail-418305.html

到了这里,关于Python 使用pandas + plotly 制作GR&R report的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python之如何使用pandas操作Excel表

    目录 1、前言 2、读取Excel 3、对Excel进行操作 3.1、获取行号、列名  3.2、获取单元格的值,并循环输出  3.3、对空值进行处理,替换  3.4、增加一列,并对新增列的第一行进行赋值 3.5、将修改后数据保存到原文档  3.6、关于循环取数 4、错误处理 5、全部代码 1、前言 网上也有

    2023年04月09日
    浏览(55)
  • Python:使用pandas对excel数据筛选选择

    #直接筛选 #DataFrame索引使用[], #直接索引语法:df[] 1.1 直接筛选,选择单列数据:df[\\\"列\\\"] 1.2直接筛选,选择多列数据:df[[\\\"列1\\\",\\\"列2\\\"]](注意:多嵌套列) 1.3直接筛选,选择多行数据:df[2:4]按照位置选取连续的行(切片),前闭后开 #(\\\'----------筛选方式2:条件筛选-------------\\\') #条件筛选

    2024年02月16日
    浏览(57)
  • Python数据分析之Pandas核心使用进阶

    在Pandas中,有两种常见的方法可以进行DataFrame的行级遍历:使用 iterrows() 和使用 iteritems() 。 使用 iterrows() 方法: iterrows() 方法返回一个迭代器,可以按行遍历DataFrame。每次迭代返回一个包含行索引和该行数据的元组。 输出结果为: 在上面的例子中,我们使用 iterrows() 方法遍

    2024年02月11日
    浏览(76)
  • 《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance)

    《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance) Wes McKinney developed the Pandas library in 2008. The name (Pandas) comes from the term “Panel Data” used in econometrics for analyzing time-series data. Pandas has many features, listed in the following, that make it a popular tool for data wrang

    2024年01月23日
    浏览(46)
  • 【Python】使用pandas将数据写入excel文件中

    本文主要简单介绍一下使用python的pandas库来将数据写入到excel文件中。 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。在命令行输入pip install pandas进行安装即可,如果安装不成功,有安装Pycharm的小伙伴也可以进入python interpreter界面,搜索pand

    2024年02月15日
    浏览(58)
  • 《Python数据分析技术栈》第06章使用 Pandas 准备数据 11 pandas中的运算符 Operators in Pandas

    《Python数据分析技术栈》第06章使用 Pandas 准备数据 11 pandas中的运算符 Operators in Pandas Pandas uses the following operators that can be applied to a whole series. While Python would require a loop to iterate through every element in a list or dictionary, Pandas takes advantage of the feature of vectorization implemented in NumPy that

    2024年01月23日
    浏览(50)
  • plot函数python用法

      plot是 Python中的一个基本数据类型,可以用于计算点的坐标和面积,也可以用来做饼状图。plot函数有两个参数,分别是: plot (x,y):用于计算数据的面积。 在 Python中, plot函数有两种形式: 第一种形式为: 其中, plot ()是一个普通的列表函数,用于计算一系列点的面

    2024年02月11日
    浏览(54)
  • python3使用pandas备份mysql数据表

    操作系统 :CentOS 7.6_x64 Python版本:3.9.12 MySQL版本:5.7.38 日常开发过程中,会遇到mysql数据表的备份需求,需要针对单独的数据表进行备份并定时清理数据。 今天记录下python3如何使用pandas进行mysql数据表的备份,我将从以下几个方面进行展开:  数据表备份逻辑描述  使用的

    2024年02月05日
    浏览(35)
  • 在虚拟机linux系统centos中安装oracle11gR2,并使用plsql工具连接使用数据库

    1.X工具,我使用的是Xftp,Xshell和Xmanager,也可以选用其他相同类型的工具 2.oracle安装包,我选用的是oracle11gR2,其他版本仅供参考 3.plsql工具 需要使用Xshell使虚拟机脸上Xmanager打开图形化界面,具体步骤如下: 1.打开虚拟机,登录 2.使用Xshell连接虚拟机         打开Xshell,创建

    2024年02月15日
    浏览(59)
  • 【解决问题思路分析】记录hutool默认使用服务端上次返回cookie的问题解决思路

    本服务需要调用第三方接口获取数据,首先调用public-key接口获取公钥,然后用公钥加密密码,将用户名和密码传入/ticket接口,获取Cookie和response body中的token。 由于是调用第三方接口出现问题,第一步先拉通第三方对接人查看后台日志,对方使用apisix作为api网关,初步判断是

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包