Desenvolva um programa que:
a. Armazene um conjunto de dados
e
em um arquivo json. (use alguma função da biblioteca random para gerar a lista de valores de
e
).
b. Em um novo arquivo, carregue esses dados salvos e plote um gráfico.
a. Armazene um conjunto de dados
b. Em um novo arquivo, carregue esses dados salvos e plote um gráfico.
Passo 1
Beleza, vamos lá! Estamos lidando com um exercício de programação que envolve duas partes principais:
a. Armazenar um conjunto de dados: Precisamos criar um programa que gere listas de valores para
x
e y
usando a biblioteca random
e depois salvar esses dados em um arquivo no formato JSON.b. Carregar e plotar os dados: Em outro arquivo, vamos carregar os dados que salvamos e criar um gráfico para visualizar esses pontos.
Para resolver isso, vamos precisar de conhecimentos básicos de Python, manipulação de arquivos JSON e criação de gráficos com a biblioteca
matplotlib
.Passo 2
Primeiro, vamos focar na parte a: gerar os dados e salvar em um arquivo JSON.
Vamos usar a biblioteca
random
para gerar valores aleatórios para x
e y
. Depois, usaremos a biblioteca json
para salvar esses dados em um arquivo.Aqui está um passo a passo:
- Importar as bibliotecas necessárias: Precisamos de
random
para gerar números aleatórios ejson
para trabalhar com arquivos JSON. - Gerar os dados: Vamos criar listas de valores para
x
ey
. Por exemplo, vamos gerar 100 pontos. - Salvar os dados em um arquivo JSON: Vamos criar um dicionário com as listas de
x
ey
e salvar isso em um arquivo chamadodados.json
.
Vamos ver como fica o código:
import random
import json
# Gerando listas de x e y com 100 valores cada
x = [random.uniform(0, 10) for _ in range(100)]
y = [random.uniform(0, 10) for _ in range(100)]
# Criando um dicionário com os dados
dados = {
"x": x,
"y": y
}
# Salvando os dados no arquivo 'dados.json'
with open('dados.json', 'w') as arquivo:
json.dump(dados, arquivo)
print("Dados gerados e salvos em 'dados.json'.")
Explicação:
random.uniform(0, 10)
gera números aleatórios entre 0 e 10.- Usamos listas de compreensão para criar as listas
x
ey
. - O dicionário
dados
organiza os valores para facilitar o salvamento. json.dump
salva o dicionário no arquivo JSON.
Passo 3
Agora, vamos para a parte b: carregar os dados do arquivo JSON e plotar um gráfico.
Vamos precisar das bibliotecas
json
para ler os dados e matplotlib
para criar o gráfico.Passos:
- Importar as bibliotecas necessárias:
json
para ler o arquivo ematplotlib.pyplot
para plotar. - Carregar os dados do arquivo JSON: Abrir e ler o conteúdo de
dados.json
. - Plotar o gráfico: Usar os valores de
x
ey
para criar um gráfico de dispersão.
Aqui está o código:
import json
import matplotlib.pyplot as plt
# Carregando os dados do arquivo 'dados.json'
with open('dados.json', 'r') as arquivo:
dados = json.load(arquivo)
x = dados["x"]
y = dados["y"]
# Plotando o gráfico de dispersão
plt.scatter(x, y, color='blue', marker='o')
plt.title('Gráfico de Dispersão dos Dados')
plt.xlabel('Eixo X')
plt.ylabel('Eixo Y')
plt.grid(True)
plt.show()
Explicação:
json.load
lê o conteúdo do arquivo JSON e o transforma em um dicionário Python.plt.scatter
cria um gráfico de pontos (dispersão) usando os dados dex
ey
.- As funções
plt.title
,plt.xlabel
, eplt.ylabel
adicionam título e rótulos aos eixos. plt.grid(True)
adiciona uma grade ao fundo do gráfico para facilitar a visualização.plt.show()
exibe o gráfico na tela.
Resposta
Seguindo os passos acima, você terá dois scripts Python:
-
Para gerar e salvar os dados:
import random import json # Gerando listas de x e y com 100 valores cada x = [random.uniform(0, 10) for _ in range(100)] y = [random.uniform(0, 10) for _ in range(100)] # Criando um dicionário com os dados dados = { "x": x, "y": y } # Salvando os dados no arquivo 'dados.json' with open('dados.json', 'w') as arquivo: json.dump(dados, arquivo) print("Dados gerados e salvos em 'dados.json'.")
-
Para carregar os dados e plotar o gráfico:
import json import matplotlib.pyplot as plt # Carregando os dados do arquivo 'dados.json' with open('dados.json', 'r') as arquivo: dados = json.load(arquivo) x = dados["x"] y = dados["y"] # Plotando o gráfico de dispersão plt.scatter(x, y, color='blue', marker='o') plt.title('Gráfico de Dispersão dos Dados') plt.xlabel('Eixo X') plt.ylabel('Eixo Y') plt.grid(True) plt.show()
Execute o primeiro script para gerar e salvar os dados, e depois execute o segundo para visualizar o gráfico com os pontos gerados.