当前位置 : 主页 > 编程语言 > python >

产品质量数据统计

来源:互联网 收集:自由互联 发布时间:2022-09-02
场景 厂家需要做一批产品,每个产品有多个指标。为了对比加工过效果,通过不同的渠道或工艺来实现。 每种工艺的质量统计结果保存一个表格,每个表格有多个衡量指标,每个指标

场景

厂家需要做一批产品,每个产品有多个指标。为了对比加工过效果,通过不同的渠道或工艺来实现。

每种工艺的质量统计结果保存一个表格,每个表格有多个衡量指标,每个指标放在每一列,第一行是指标名。

厂家根据统计结果来判断产品的性能定位和工艺的选取。

代码

1. 绘图函数

 ···

def plot_bar(pdobjs, colname, barnames, bartot, tspace):

   """

   :param pdobjs: pandas的绘图数据  

   :param colname: 绘图指标名

   :param barnames: 不同bar的名字

   :param bartot: 不同bar的数据量总数

   :param tspace: 每组的宽度

   """

   nums = len(pdobjs)

   tspace = tspace / nums

   colors = ["#ff0000", "#00ff00", "#0000ff", "#ffff00", "#ff00ff", "#00ffff", "#000000"] * (nums // 7 + 1)

   fig, ax = plt.subplots()

   for idn, pdobj in enumerate(pdobjs):

       tdata = np.array([float(i2) for i2 in pdobj.index]) + idn * tspace

       tstr = [str(i2) for i2 in tdata]

       plt.bar(tdata, pdobj.values / bartot[idn], color=colors[idn], width=tspace,

               label=barnames[idn] + ":" + str(bartot[idn]), tick_label=tstr)

       for tx, ty in zip(tdata, pdobj.values):

           plt.text(tx, ty / bartot[idn], str(ty), ha="center")

   # yticks = np.arange(0, 1, 10)

   # plt.yticks(yticks)

   ax.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=1))

   plt.xticks(rotation=-90)

   plt.ylabel("同类百分比")

   plt.legend()  # 显示标签

   plt.title(colname)

   # 保存单指标图片

   plt.savefig('C:\统计表\\' + colname + '.png', format='png')



上一篇:Python3中的算术运算符
下一篇:没有了
网友评论