Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Visualisation of the Kmean generated cluster

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
rust

Línea de trabajo

Revisa el ejemplo de Rust en Cargo.toml y main.rs, incluida la entrada clustered_points.csv y la construcción del gráfico de Vega-Lite. Ejecuta el ejemplo con los datos agrupados proporcionados y determina la visualización esperada; el trabajo estará terminado cuando los puntos de los clústeres generados se muestren correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hello,
This is the code for the visulalisation of the workshop using rust and vega_lite_3.

Cargo.toml

[dependencies]
vega_lite_3 = {version = "0.1", features = ["show_vega"]}
serde = {version = "1.0", features = ["derive"]}
serde_json = "1.0.39"
derive_builder = "0.9.0"
showata =  "0.1.0"
failure = "0.1.5"
csv = "1.1.1"

main.rs

use csv;
use failure;
use serde::{Deserialize, Serialize};
use showata::Showable;
use std::path::Path;
use vega_lite_3::*;

#[derive(Serialize, Deserialize, Debug)]
pub struct Item {
    pub x: f64,
    pub y: f64,
    pub idx: usize,
}

macro_rules! build {
    ($s:expr ) => {
        $s.build().map_err(|s| failure::format_err!("{}", s))?
    };
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read in the data using the csv crate
    // The data are organised this way:
    //
    // Point_ID ,Point_x,Point_y, Cluster_idx
    // 0, 9.887634 , 10.700742, 3
    // 1, 10.895053 , 9.602507, 3
    // ...
    // 1475, 1.959400, 13.254207, 1
    let mut rdr = csv::Reader::from_path(Path::new("clustered_points.csv"))?;
    let values = rdr
        .deserialize()
        .into_iter()
        .collect::<Result<Vec<Item>, csv::Error>>()?;
    // Create the plot
    let chart = build!(VegaliteBuilder::default()
        .title("Dataset Points")
        .width(800.0)
        .height(800.0)
        .description("Plot of the clustered dataset generated in by ndarray workshop.")
        .data(&values)
        .mark(Mark::Point)
        .encoding(build!(EncodingBuilder::default()
            .x(build!(XClassBuilder::default()
                .field("x")
                .def_type(StandardType::Quantitative)))
            .y(build!(YClassBuilder::default()
                .field("y")
                .def_type(StandardType::Quantitative)))
            .color(ValueDefWithConditionMarkPropFieldDefStringNull {
                aggregate: None,
                bin: None,
                condition: None,
                field: Some(Field::String("idx".to_string())),
                legend: None,
                scale: None,
                sort: None,
                time_unit: None,
                title: None,
                value: None,
                value_def_with_condition_mark_prop_field_def_string_null_type: None
            }))));
    chart.show()?;
    Ok(())
}
Lenguaje dominante
Jupyter Notebook
Estrellas
116
Forks
20
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de LukeMathWalker/ndarray-koans

Todos los issues de LukeMathWalker/ndarray-koans

Issues similares

Más issues de Data Visualization

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.