Gå til innhold

Anbefalte innlegg

Hei

Prøver å tegne en graf og sliter litt i planleggingsprosessen. Har en del variabel data både tids og verdimessig så lurer på hvordan jeg lettest mulig kan tegne grafer for masse forskjellige verdier?

 

Som sagt så er jeg usikker på hvordan jeg skal gå frem for å tegne (det matematiske altså) og ikke selveste utførelsen.

 

Et godt eksempel på noen som har utført det bra:

http://hopey.netfonds.no/analysis.php?paper=OSEBX.OSE

http://hopey.netfonds.no/analysis.php?paper=SEVAN.OSE

 

Grafen ser estetisk bra ut selv om X og Y aksenes verdier er svært forskjellig.

 

Takker for svar på forhånd

Lenke til kommentar
Videoannonse
Annonse

For meg hadde python og matplotlib vært et naturilg valg for dette.

Ettersom python er språket jeg bruker.

 

Her en annen type graf,med en kode jeg skrev om for gøy.

https://www.diskusjon.no/index.php?showtopic=800754&st=900

 

En rask demo.

import math
import pylab  #Matplotlib

#Create the x list data
#Arange() is just like range() but allows float numbers
x_list = pylab.arange(2, 5.0, 0.01)

#Calculate the y list data
y_list = []
for x in x_list:
   y = math.cos(2*math.pi*x) * math.exp(-x)
   y_list.append(y)

pylab.xlabel("x")
pylab.ylabel("cos(2pi * x) * exp(-x)")
pylab.plot(x_list, y_list, 'b')

pylab.savefig('Fig1.png')
pylab.show()

post-53555-1278424745,0903_thumb.png

Endret av SNIPPSAT
Lenke til kommentar

Hehe tenkte ikke på det før nå at det er en del språk som har sånne ting innebygd men jeg holder på med Java så må tegne det hele selv manuelt :/ Har sett litt på JFreeGraph og sånt men det er både altfor avansert til mitt bruk, pluss at jeg gjerne skal gjøre videre endringer på grafen.

 

Derfor er jeg mer interessert i algoritmen for å tegne graf, som ser grei ut.

Lenke til kommentar
Derfor er jeg mer interessert i algoritmen for å tegne graf, som ser grei ut.

Ja men den infoen du gir ut lik null,defor er det ikke mulig og gi noen annet enn et generell svar.

Jeg bruke en cosinus algoritmen og lage en graf utifra den.

X og y data kunne godt være byttet ut med tids og verdimessig data.

Endret av SNIPPSAT
Lenke til kommentar
Jeg har både Y verdiene og X verdiene i et array.

Har du ferdige verdier i array,bare en enkel demo.

x og y er array(java) kalles list python.

 

Graf som ligner på dine linker.

http://matplotlib.sourceforge.net/examples/pylab_examples/plotfile_demo.html

 

Matplotlib har veldig mange graf typer.

Kan brukes som nå vise en graf eller i en gui/webløsning.

 

Men skal du bruke java,må du se etter løsninger der.

import pylab as pl

x = [1,5,6,8,10]
y = [2,3,8,3,7]

l = pl.plot(x,y,'r')
pl.show()

post-53555-1278441287,2027_thumb.png

Lenke til kommentar

Derfor er jeg mer interessert i algoritmen for å tegne graf, som ser grei ut.

 

Det er bare en linjær funksjon (antatt at du vil ha linjære akser) som mapper laveste og høyeste verdi i datasettet ditt til høyeste og laveste verdi i koordinatsystemet hvor du skal plotte samt at du setter av så store marginer du måtte ønske.

 

Så kan du trekke en linje mellom hvert punkt, eller bruke forskjellige glattefunksjoner og filtreringer litt avhengig av hva du er ute etter å se.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...