En la entrada anterior se manejaron valores fijo, ahora, ¿que pasa si el usuario decide ingresar otras muestras?.
Como ya se ha visto, para poder trabajar con gráficas y con arreglos se requiere el pylab.
Para poder realizar la tabla, con todo y tabulaciones y lineas, importe tabulate, para poder borrar la pantalla y se visualizara mejor la tabla, después del ingreso de datos, importe os.
El tabulate se descarga directamente de la página de python, y en el cmd se pone pip install tabulate.
Para poder realizar la tabla, con todo y tabulaciones y lineas, importe tabulate, para poder borrar la pantalla y se visualizara mejor la tabla, después del ingreso de datos, importe os.
El tabulate se descarga directamente de la página de python, y en el cmd se pone pip install tabulate.
Para poner los datos de la lecturas en la tabla, se requiere pasar la lista donde se guardaron los datos convertirla en una matriz transpuesta.
Cabe destacar que para este tipo de gráficas, que en especifico son de control, muy usadas para verificar calidad, ya hay datos fijos como coeficientes, que se consiguen según el subgrupo manejado, aquí se manejarán subgrupos de 4.
Cabe destacar que para este tipo de gráficas, que en especifico son de control, muy usadas para verificar calidad, ya hay datos fijos como coeficientes, que se consiguen según el subgrupo manejado, aquí se manejarán subgrupos de 4.
Bueno en el código se ve la solución:
NOTA: Checar tabla de coeficientes de la entrada anterior
- Código:
from tabulate import *
import os
plt.ioff()
dicc={}
promediog=[]
promind=[]
promi=[]
proms=[]
lista=[]
lis=[]
indice=[]
rind=[]
rango1=0
rangoind=[]
rangofil=[]
rangotot=[]
print("""\t\tDe acuerdo con la investigación realizada respecto de datos\n
que involucran revision de calidad, dependiendo de los subgrupos manejados,\n
que en este caso seran indicados, hay una tabla de los coeficientes de A2, D3, D4,\n
por lo que ya son valores fijos, favor de verificar la tabla\n""")
A2=float(input("Ingrese el valor de A2: "))
D3=float(input("Ingrese el valor de D3: "))
D4=float(input("Ingrese el valor de D4: "))
n=int(input("Agregue numero de muestras: "))
col=int(input("Indique el numero de subgrupos: "))
print()
#PARA EL INDICE
for w in range(n):
w=w+1
indice.append(w)
#PARA LLENADO DE MUESTRAS
for i in range(n):
for j in range(col):
print("Ingrese datos para la muestra %s"%str(i+1))
z=int(input())
lis.append(z)
lis.sort()
if (len(lis)==col):
lista.append(lis)
lis=[]
promediog.append(z)
promi.append(z)
proms.append(promi)
if(len(proms)==col):
dato2=np.array(proms)
Prom=dato2.mean()
promind.append(Prom)
proms=[]
promi=[]
rangotot.append(z)
rind.append(z)
rind.sort()
if(len(rind)==col):
rango1= rind[-1]- rind[0]
rangofil.append(rango1)
rind=[]
print()
#PROM GENERAL
dato=np.array(promediog)
promgeneral=dato.mean()
#RANGOS GENERAL
dato3=np.array(rangofil)
rangogen=dato3.mean()
#LIMPIO PANTALLA
os.system('cls')
#FORMULAS
LCIX=promgeneral-(A2*rangogen) #981.2
LCIR=D3*rangogen #0
LCSX=promgeneral+(A2*rangogen) #1018
LCSR=D4*rangogen #57.5
#PASAR LISTAS A MATRIZ Y A DICCIONARIO
dato1=np.array(lista)
dato1.transpose()
dicc['c1']=promind
dicc['c2']=rangofil
#ENCABEZADOS TABLA 1
encabezado=["No de muestra"]
for h in range(col):
s="Lectura en Ohms"
encabezado.append(s)
#ENCABEZADOS TABLA 2
encabezado2=["No. de muestra","PROM","RANG"]
print(tabulate(dato1, headers=encabezado, showindex=indice,tablefmt='fancy_grid'))
print(tabulate(dicc, headers=encabezado2, showindex=indice,tablefmt='fancy_grid'))
#LCIX --> 981.2
y1=[]
y1.append(LCIX)
y1=(y1) *n
y1=np.array(y1)
#LCSX --> 1018
y2=[]
y2.append(LCSX)
y2=(y2) *n
y2=np.array(y2)
#LCIR --> 0
y3=[]
y3.append(LCIR)
y3=(y3) *n
y3=np.array(y3)
#LCSR --> 57.5
y4=[]
y4.append(LCSR)
y4=(y4) *n
y4=np.array(y4)
#MINI TABLA
dicc2={'M1':['PROM','LCI','LCS'],'M2':[[promgeneral,rangogen],[LCIX,LCIR],[LCSX,LCSR]],}
print()
print(tabulate(dicc2, tablefmt='simple'))
#PARA GRAFICAR PROMEDIO GENERAL
y8=[]
y8.append(promgeneral)
y8=(y8) *n
y8=np.array(y8)
#PARA GRAFICAR RANGO GENERAL
y9=[]
y9.append(rangogen)
y9=(y9) *n
y9=np.array(y9)
plt.subplot(1,2,1)
#PARTE DE LAS X
plt.plot(y1, label="LCI", marker='^', linestyle=':', color='b')
plt.plot(y2, label="LCS", marker='p', linestyle=':', color='g')
plt.plot(y8, label="X", marker='x', linestyle='-', color='r')
plt.plot(promind, label="PROM", marker='o', linestyle='-', color='c')
plt.legend(loc="upper right")
plt.title("GRAFICA PARA LOS PROMEDIOS")
plt.xlabel("Muestras\n(la muestra 0 representa a la muestra 1 y asi sucesivamente)")
plt.ylabel("Lecturas")
plt.grid(True)
plt.subplot(1,2,2)
#PARTE DE LAS R
plt.plot(y3, label="LCI", marker='h', linestyle='--', color='m')
plt.plot(y4, label="LCS", marker='+', linestyle='--', color='y')
plt.plot(y9, label="X", marker='*', linestyle='-', color='k')
plt.plot(rangofil, label="PROM", marker='D', linestyle='-', color='b')
plt.title("GRAFICA PARA LOS RANGOS")
plt.xlabel("Muestras\n(la muestra 0 representa a la muestra 1 y asi sucesivamente)")
plt.ylabel("Rangos")
plt.legend(loc="upper right")
plt.grid(True)
plt.show()
plt.ion()
- Ingreso de datos:
- Tabla tabulada:
- Gráficas: