Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
crossmodais authored Sep 23, 2024
1 parent 8bdf1eb commit 0eb75aa
Showing 1 changed file with 124 additions and 0 deletions.
124 changes: 124 additions & 0 deletions io.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
import cupy as cp
import numpy as np
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from io import StringIO

# Definindo cores em tons mais escuros
colors = ['#5F4B32', '#4A4A4A', '#385E38', '#3D444B', '#5C5448', '#967B4F',
'#A08665', '#7D6648', '#664C4C', '#935A3A', '#B8977E', '#88705A']

# Dados Sintéticos Realistas (Binance) - Adaptado para leitura de CSV
binance_csv = """Altcoin,Preço (USD),Volume (24h),Market Cap (USD),Variação (24h)
Binance Coin (BNB),215,400000000,34000000000,1.2
Cardano (ADA),0.27,180000000,8500000000,-1.5
Solana (SOL),20.5,350000000,7000000000,2.1
Dogecoin (DOGE),0.062,200000000,8500000000,0.5
Polkadot (DOT),4.25,150000000,7800000000,-0.2
Shiba Inu (SHIB),0.000008,100000000,4500000000,3.0
Polygon (MATIC),0.65,80000000,5500000000,-0.7
Avalanche (AVAX),11.2,120000000,4000000000,1.8"""

df_altcoins_binance = pd.read_csv(StringIO(binance_csv))

# Dados (GitHub)
github_csv = """Altcoin,Número de Commits (último mês),Número de Issues Abertas,Número de Pull Requests (último mês),Atividade da Comunidade (escala 1-10)
Cosmos (ATOM),250,35,80,9
Polkadot (DOT),200,40,70,8
Filecoin (FIL),120,20,40,7
Avalanche (AVAX),180,30,60,8.5
Chainlink (LINK),150,25,50,7.5
Solana (SOL),300,50,100,9.5
Cardano (ADA),220,45,85,8.5
Polygon (MATIC),280,55,90,9
Algorand (ALGO),170,32,65,7.8"""

df_altcoins_github = pd.read_csv(StringIO(github_csv))

# Função para plotar gráfico de barras
def plot_bar_chart(df, x_col, y_col, title, color=colors[0]):
fig = px.bar(df, x=x_col, y=y_col, title=title,
color_discrete_sequence=[color])
fig.update_layout(plot_bgcolor='black', paper_bgcolor='black', font_color='white')
fig.show()

# Função para plotar gráfico de pizza
def plot_pie_chart(df, values, names, title):
fig = px.pie(df, values=values, names=names, title=title,
color_discrete_sequence=colors)
fig.update_layout(plot_bgcolor='black', paper_bgcolor='black', font_color='white')
fig.show()

# Função para plotar boxplot
def plot_boxplot(df, x_col, y_col, title, color=colors[0]):
fig = px.box(df, x=x_col, y=y_col, title=title,
color_discrete_sequence=[color])
fig.update_layout(plot_bgcolor='black', paper_bgcolor='black', font_color='white')
fig.show()

# Função para plotar gráfico de densidade
def plot_density_chart(df, x_col, title, color=colors[0]):
fig = px.histogram(df, x=x_col, title=title, marginal="rug",
color_discrete_sequence=[color], nbins=30)
fig.update_layout(plot_bgcolor='black', paper_bgcolor='black', font_color='white',
xaxis_title=x_col, yaxis_title="Densidade")
fig.show()

# Função para plotar matriz de correlação
def plot_correlation_matrix(df, title):
numeric_df = df.select_dtypes(include=[np.number])
corr_matrix = numeric_df.corr()
fig = go.Figure(data=go.Heatmap(z=corr_matrix.values,
x=corr_matrix.index,
y=corr_matrix.columns,
colorscale='Viridis'))
fig.update_layout(title=title,
xaxis_nticks=36,
plot_bgcolor='black', paper_bgcolor='black', font_color='white')
fig.show()

# --- Visualizações dos Dados ---

# --- Binance ---

# 1. Gráfico de Barras: Preço das Altcoins
plot_bar_chart(df_altcoins_binance, 'Altcoin', 'Preço (USD)', 'Preço das Altcoins (USD)', color=colors[1])

# 2. Gráfico de Pizza: Market Cap das Altcoins
plot_pie_chart(df_altcoins_binance, 'Market Cap (USD)', 'Altcoin', 'Market Cap das Altcoins')

# 3. Boxplot: Distribuição do Volume (24h)
plot_boxplot(df_altcoins_binance, 'Altcoin', 'Volume (24h)', 'Distribuição do Volume (24h)', color=colors[2])

# 4. Gráfico de Densidade: Distribuição do Preço
plot_density_chart(df_altcoins_binance, 'Preço (USD)', 'Distribuição do Preço das Altcoins', color=colors[3])

# 5. Gráfico de Densidade: Distribuição do Volume (24h)
plot_density_chart(df_altcoins_binance, 'Volume (24h)', 'Distribuição do Volume (24h) das Altcoins', color=colors[4])

# 6. Boxplot: Variação (24h) por Altcoin
plot_boxplot(df_altcoins_binance, 'Altcoin', 'Variação (24h)', 'Variação (24h) por Altcoin', color=colors[5])


# --- GitHub ---

# 7. Gráfico de Barras: Número de Commits por Altcoin
plot_bar_chart(df_altcoins_github, 'Altcoin', 'Número de Commits (último mês)', 'Número de Commits por Altcoin', color=colors[6])

# 8. Boxplot: Número de Issues Abertas por Altcoin
plot_boxplot(df_altcoins_github, 'Altcoin', 'Número de Issues Abertas', 'Número de Issues Abertas por Altcoin', color=colors[7])

# 9. Gráfico de Densidade: Número de Commits
plot_density_chart(df_altcoins_github, 'Número de Commits (último mês)', 'Distribuição do Número de Commits', color=colors[8])

# 10. Gráfico de Densidade: Atividade da Comunidade
plot_density_chart(df_altcoins_github, 'Atividade da Comunidade (escala 1-10)', 'Distribuição da Atividade da Comunidade', color=colors[9])

# 11. Boxplot: Número de Pull Requests por Altcoin
plot_boxplot(df_altcoins_github, 'Altcoin', 'Número de Pull Requests (último mês)', 'Número de Pull Requests por Altcoin', color=colors[10])

# 12. Matriz de Correlação: Dados do GitHub
plot_correlation_matrix(df_altcoins_github, 'Matriz de Correlação - Dados GitHub')

0 comments on commit 0eb75aa

Please sign in to comment.