Skip to main content

Um package para auxialar no tratamento de dados

Project description

Introdução e filosofia da implementação

Esse repositório é uma iniciativa, por parte da PDI, de criar ferramentas para pós-processamento de resultados experimentais. Tais ferramentas serão auditáveis, abertas, e com o intuito de serem colaborativas.

Sumário

Pós processamento de ensaios experimentais mecânicos

O pós-processamento de ensaios experimentais segue o paradigma universal de existir medição de uma entidade de força e um descolamento. Esse paradigma é comum em diferentes metodologias experimentais, tais como a determinação de Moduli de Young, cisalhamento, entre outros. Logo, para cada tipo específico de ensaio, existirão métodos especializados, muito embora a base seja compartilhada.

Um exemplo de utilização do ajuste encontra-se a seguir:

from experimentalTreatingIsiPol.main import MechanicalTestFittingLinear
import os
archive = os.path.join(os.getcwd(),r'..\DataArquives\Specimen_RawData_1.csv')
classInit =  MechanicalTestFittingLinear(machineName='68FM100', archive_name=archive)
classInit.MeasureYoungModulus(length = 50,thickess = 1,width = 12)   

Máquinas ajustadas

A lista de máquinas ajustadas encontra-se abaixo:

Máquina machine
Instron 68FM100 68FM100

Métodos para determinação da região linear

Cálculo Módulo de Young

Volta ao topo

Exemplos de gráficos

Volta ao topo

Gráfico de linha simples

Um gráfico padronizado pode ser gerado ao se utilizar a função plot_helper() da biblioteca.

from experimentalTreatingIsiPol.main import plot_helper
import numpy as np
import matplotlib.pyplot as plt


fig, ax = plt.subplots(figsize=(6, 5))
n_samples = 100
ax = plot_helper(ax, x=np.linspace(1,n_samples, n_samples), 
            y=np.random.normal(5,0.01, n_samples), 
            xlabel='Amostra', ylabel='Espessura [mm]', 
            label=r"Espessuras dos CP's, $\mu=5 [mm]$ e $\sigma=0.01 [mm]$")

Grafico de linha simples

A função retorna o próprio objeto do eixo, ax. Portanto, todos os métodos do matplotlib são herdados. Por exemplo, pode-se retirar as linhas de grade, caso seja de interesse do usuário:

ax.grid()

Grafico de linha simples

Volta ao topo

Gráfico de dispersão simples

Um gráfico de dispersão é facilmente gerado ao se utilizar a função scatter_helper().

from experimentalTreatingIsiPol.main import scatter_helper
import numpy as np
import matplotlib.pyplot as plt


fig, ax = plt.subplots(figsize=(6, 5))
n_samples = 100
ax = scatter_helper(ax, x=np.linspace(1,n_samples, n_samples), 
            y=np.random.normal(5,0.01, n_samples), 
            xlabel='Amostra', ylabel='Espessura [mm]', 
            label=r"Espessuras dos CP's, $\mu=5 [mm]$ e $\sigma=0.01 [mm]$")

Grafico de linha simples

Volta ao topo

Estilização dos gráficos

Volta ao topo

Formatação de fonte

Em termos de estilos de fonte, os gráficos podem ser estilizados modificando a propriedade rcParams do matplotlib. A seguir, um exemplo de como atribuir a fonte calibri para o texto, e a fonte stix para texto matemático, em um determinado gráfico.

Volta ao topo

Estilo de fonte

O estilo de fonte pode ser alterado de forma global:

import matplotlib as mtp

mtp.rcdefaults() # retorna ao padrão
mtp.rcParams['mathtext.fontset'] = 'stix'# STIX Fonts used in LaTeX rendering. 
mtp.rcParams['font.family'] = 'calibri' #'STIXGeneral'

O mesmo efeito pode ser aplicado localmente:

import matplotlib.pyplot as plt

fig, (ax1,ax2) = plt.subplots(1,2,figsize=(6, 5))

# A simple plot for the background.
ax1.plot(range(11), color="0.9")
ax2.plot(range(11), color="0.9")
ax1.set_title(r"$Title\ in\ math\ mode:\ \int_{0}^{\infty } x^2 dx$",
             math_fontfamily='stixsans', size=14, family='cursive')
ax2.set_title(r"Title in cursive $\int_{0}^{\infty } x^2 dx$",
             math_fontfamily='stixsans', size=14, family='cursive')
plt.show()

Volta ao topo

Tamanho de fonte

O tamanho de fonte pode ser alterado através do parâmetros fontsize, para as legendas, títulos dos eixos, e rótulo dos dados. Faz-se a seguir um exemplo:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(6, 5))

# A simple plot for the background.
x = np.linspace(1,10,10)
y = np.random.standard_normal(10)

ax.plot(x,y,color="0.9", label='Alguma legenda com tamanho 7')
ax.set_xlabel('Título do eixo x, com tamanho 8', fontsize = 8)
ax.set_ylabel('Título do eixo y, com tamanho 8', fontsize = 8)
ax.legend(fontsize=7)
ax.tick_params(axis='x', labelsize=5) # fonte dos pontos do eixo x com tamanho 5
plt.show()

Os tamanhos de fonte também podem ser alterados de forma global, através dos rcParams:

import matplotlib as mtp

mtp.rcParams['legend.fontsize'] = 7 # Fonte global da legenda
mtp.rcParams['xtick.labelsize'] = 5 # Fonte dos pontos do eixo x com tamanho 5
mtp.rcParams['axes.labelsize'] = 8 # Fonte dos eixos x e y

Volta ao topo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

experimentaltreatingisipol-0.0.6.tar.gz (106.9 kB view details)

Uploaded Source

Built Distribution

experimentaltreatingisipol-0.0.6-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file experimentaltreatingisipol-0.0.6.tar.gz.

File metadata

File hashes

Hashes for experimentaltreatingisipol-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ccd986ad03c052afc92376325f655017f1c315b2d26482e06bbc41390d840d95
MD5 47d056b97613aa2b031d72bc1e29dbff
BLAKE2b-256 a667ad6df6124b115e16e8ce7ebf27816a0f74ea26771bb3df4c4b50532b4a8f

See more details on using hashes here.

File details

Details for the file experimentaltreatingisipol-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for experimentaltreatingisipol-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6c536e25c06b8f4fdd5e04eb3a7ae1769c7b0d0a5422eda888f4055e2bd4313b
MD5 9604b83860efb5b48261781aa8fe4914
BLAKE2b-256 0bc587628fffb6c9f33eb31202b5cce6d85ae0617d68f11087c140d0a37036fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page