Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
Visualización de datos en Django usando HighCharts

Tengo datos de texto en un archivo example.txt en el siguiente formato

 [[Date.UTC(1970, 10, 25), 0], [Date.UTC(1970, 11, 6), 0.25], [Date.UTC(1970, 11, 20), 1.41], [Date.UTC(1970, 11, 25), 1.64], [Date.UTC(1971, 0, 4), 1.6]]

Que estoy leyendo en el archivo django view.py de la siguiente manera

 filepath = os.getcwd() f = open(filepath+"/main/static/main/data/example.txt", "r") dataset = f.read() def home(request): context = {'dataset': dataset} return render(request, 'main/home.html', context)

Cargándolo en la plantilla de la siguiente manera

 <script src="https://code.highcharts.com/highcharts.js"></script> <div id='dataset' data-dataset={{ dataset }} style="width:100%; height:500px;"></div> <script type="text/javascript" src="{% static 'main/js/main.js' %}" ></script>

Y el archivo javascript main.js con el código highchart de la siguiente manera

 const app_control = (function() { var sdata; var init_charts; /* VARIABLES INITIALIZATIONS */ /* DEFINE THE FUNCTIONS */ /* Initialize Functions */ init_charts = function(sdata){ const chart = Highcharts.chart('container', { chart: { type: 'spline' }, title: { text: 'Example Data from ' }, xAxis: { type: "datetime", title: { text: 'Date' } }, yAxis: { title: { text: 'Data in Y Axis' } }, colors: ['#06C'], series: [{ name:'Visualized Data', data: sdata }] }) } /* PUBLIC INTERFACE */ public_interface = {}; /* RUN THE FUNCTIONS */ $(function(){ sdata = $('#TimeSeries').data('dataset'); init_charts(sdata); }); return public_interface; }());

La pregunta es, ¿por qué no se visualizan los datos? Si haces console.log(sdata); ve los datos, pero no se cargan en HighCharts. ¿Cuál podría ser la razón de este comportamiento?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Debido a que lo más probable es que los datos se traten como una cadena y no como una lista de listas o una lista JSON, verifique los tipos del conjunto de datos en la función de gráficos y puede JSON.parse para cargar el json desde una cadena

about 4 years ago · Juan Pablo Isaza Report

0

Si es posible, debe cambiar el formato de datos en su archivo de Date.UTC(1970, 10, 25) a, por ejemplo: 25660800000 (marca de tiempo en milisegundos).

Demostración en vivo: http://jsfiddle.net/BlackLabel/t2rde3bk/


Si necesita mantener el formato actual, puede:

  • use eval -> data: eval(sdata) - definitivamente no recomendado

Demostración en vivo: http://jsfiddle.net/BlackLabel/z45anjo7/


  • escribir un analizador personalizado

 const rows = sdata.split('Date.UTC(').slice(1); const parsedData = []; rows.forEach(row => { const splitted = row.split('),'); const date = splitted[0]; const y = splitted[1].split(']')[0]; parsedData.push([ Date.UTC(...date.split(',')), +y ]); }); const chart = Highcharts.chart('container', { ..., series: [{ data: parsedData }] })

Demostración en vivo: http://jsfiddle.net/BlackLabel/voe4q9bf/

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!