
Re: Hur gör jag ett enkelt diagram i open office calc????
zorro_ac skrev:
jag vill att kurvan fortsätter i samma stigning så att säga så jag som i exemplet ovan ser vad resistansen är vid 80 liter.
Aha!
ExtrapoleringOpenOffice SpreadsheetMan kan använda funktionen TREND för att få ett nytt y-värde givet några exitsterande x/y-värden och ett nytt x-värde. Mata in följande värden i kalkylbladet och skapa diagrammet som vanligt.
Kod:
0 =TREND(B2:B3,A2:A3,A1)
7 0
30 40
50 =TREND(B2:B3,A2:A3,A4)
PloticusGör ett script som beräknar extrapoleringspunkter givet de två första och två sista punkterna i en dataserie. Spara scriptet som
~/bin/myextrapolate:
Kod:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
# Representera en punkt med x och y
class Point:
def __init__(_, x, y):
_.x = x
_.y = y
# Extrapolera eller interpolera givet två punkter och önskat x-värde
def extrapolate(point1, point2, x):
slope = (point2.y - point1.y) / (point2.x - point1.x)
y = point1.y + (x - point1.x) * slope
return y
# Kolla kommando-argumenten
args = sys.argv[1:]
if len(args) != 2:
exit('Must have two command line args: low and high extend')
lowextend = float(args[0])
highextend = float(args[1])
# Spara datapunkter
data = []
# Läs alla datapunkter från stdin
for line in sys.stdin:
elements = line.split()
if len(elements) != 2:
exit('Must be two elements per line')
x=float(elements[0])
y=float(elements[1])
data.append( Point(x,y) )
# Kolla att det finns minst två datapunkter
if len(data)<2:
exit('Must have at least two data points (rows)')
# Beräkna ny punkt vid x-värde lowextend
y = extrapolate(data[0], data[1], lowextend)
print lowextend,y
# Visa alla originaldata mellan lowextend och highextend
for i in data:
print i.x, i.y
# Beräkna ny punkt vid x-värde highextend
y = extrapolate(data[-2], data[-1], highextend)
print highextend,y
Skapa diagrammet med kommandot
Kod:
cat linedata.dat | myextrapolate 0 50 | ploticus -png -prefab lines data=- x=1 y=2
Nackdel med båda ovanstående lösningar: Extrapoleringspunkterna visas som punkter i diagrammen, så det ser ut som det finns äkta mätdata där fast det inte gör det.