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
Exemplos de gráficos
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]$")
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()
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]$")
Estilização dos gráficos
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.
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()
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file experimentaltreatingisipol-0.0.23.tar.gz
.
File metadata
- Download URL: experimentaltreatingisipol-0.0.23.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8a88e9719b214f48139e68b1e6a1a2313a30b5b7a6804908f7ab8e26d490a4d |
|
MD5 | c931bc84d7f670d5f38fa8c762d67a30 |
|
BLAKE2b-256 | 6e8b59b714240d1648c0c04369fa771b312aee53a7b640d3043339f7e77b154b |
File details
Details for the file experimentaltreatingisipol-0.0.23-py3-none-any.whl
.
File metadata
- Download URL: experimentaltreatingisipol-0.0.23-py3-none-any.whl
- Upload date:
- Size: 38.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59303d56f5d6be8065b004d64022bacca3cc5d4fc30ae261c1a299dceb62c513 |
|
MD5 | 89824edd7ffeb8e18f937ba67e010753 |
|
BLAKE2b-256 | aecf54d6728d0e2a923a9639ae651ba13ac0ee0815e56747545a554f28da3e3c |