Desenvolva um programa que:
a. Armazene um conjunto de dados x e y em um arquivo json. (use alguma função da biblioteca random para gerar a lista de valores de x e y ).
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:
  1. Importar as bibliotecas necessárias: Precisamos de random para gerar números aleatórios e json para trabalhar com arquivos JSON.
  2. Gerar os dados: Vamos criar listas de valores para x e y. Por exemplo, vamos gerar 100 pontos.
  3. Salvar os dados em um arquivo JSON: Vamos criar um dicionário com as listas de x e y e salvar isso em um arquivo chamado dados.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 e y.
  • 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:
  1. Importar as bibliotecas necessárias: json para ler o arquivo e matplotlib.pyplot para plotar.
  2. Carregar os dados do arquivo JSON: Abrir e ler o conteúdo de dados.json.
  3. Plotar o gráfico: Usar os valores de x e y 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 de x e y.
  • As funções plt.title, plt.xlabel, e plt.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:
  1. 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'.")
    
  2. 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.

Exercícios relacionados