Вверх ↑
Этот топик читают: Гость
Ответов: 254
Рейтинг: 6
#1: 2016-11-11 01:36:25 ЛС | профиль | цитата
Здравствуйте!
Как добавить последовательно данные в график?

Add(MainForm,8683113,21,217)
{
Width=791
Height=421
Caption="Linear graph"
}
Add(Edit,1790550,357,21)
{
Left=35
Top=5
Text="0.025"
DataType=4
}
Add(Edit,399261,427,21)
{
Left=35
Top=30
Text="0.0013"
DataType=4
}
Add(Edit,15706673,420,126)
{
Left=35
Top=55
Text="0.00016"
DataType=4
}
Add(Edit,12382233,413,224)
{
Left=35
Top=80
Text="0.000024"
DataType=4
}
Add(Label,10334521,28,21)
{
Left=10
Top=10
Width=18
Height=17
Font=[MS Sans Serif,8,0,128,1]
Name="1"
Caption="D1"
}
Add(Label,14354605,28,63)
{
Left=10
Top=35
Width=18
Height=17
Caption="D2"
}
Add(Label,5398712,35,98)
{
Left=10
Top=60
Width=18
Height=17
Caption="D3"
}
Add(Label,743106,35,133)
{
Left=10
Top=85
Width=18
Height=17
Caption="D4"
}
Add(Label,2009625,35,171)
{
Left=10
Top=110
Width=18
Height=17
Caption="D5"
}
Add(ChildPanel,15147551,266,112)
{
}
BEGIN_SDK
Add(EditMulti,9860223,21,21)
{
WorkCount=1
DataCount=2
link(doWork1,1112638:doAdd,[(98,27)(98,160)])
}
Add(Panel,8521985,35,105)
{
Left=205
Top=10
Width=555
Height=335
}
Add(Plotter,11338811,266,84)
{
Left=2
Top=2
Width=551
Height=331
Align=5
Name="plotter"
MaxH=1000
}
Add(PlotLines,1112638,175,154)
{
Grapher="plotter"
Step=1
MaxValues=4
link(ValueY,9860223:Data1,[(181,88)(27,88)])
link(ValueX,9860223:Data2,[(188,88)(34,88)])
}
END_SDK
Add(Button,9235610,168,77)
{
Left=110
Top=110
link(onClick,13125873:doEvent1,[])
}
Add(Hub,13125873,217,77)
{
OutCount=6
link(onEvent1,7324731:doOperation,[])
link(onEvent2,10175644:doOperation,[(355,90)(355,181)])
link(onEvent3,5663956:doOperation,[(343,97)(343,279)])
link(onEvent4,12696271:doOperation,[(330,104)(330,370)])
link(onEvent6,15147551:doWork1,[])
}
Add(Edit,6421921,406,322)
{
Left=35
Top=105
Text="0.00026"
DataType=4
}
Add(Edit,15568843,462,175)
{
Left=140
Top=30
Text=""
DataType=4
}
Add(Edit,2496571,455,273)
{
Left=140
Top=55
Text=""
DataType=4
}
Add(Edit,4788227,448,364)
{
Left=140
Top=80
Text=""
DataType=4
}
Add(Math,12696271,399,364)
{
OpType=3
link(onResult,4788227:doText,[])
link(Op1,9335710:Var2,[(405,356)(363,356)])
link(Op2,6421921:Text,[])
}
Add(Math,7324731,420,77)
{
OpType=3
link(onResult,3465096:doText,[])
link(Op1,3095036:Var3,[(426,65)])
link(Op2,399261:Text,[])
}
Add(Math,10175644,413,175)
{
OpType=3
link(onResult,15568843:doText,[])
link(Op1,4737145:Var3,[(419,164)])
link(Op2,15706673:Text,[])
}
Add(Math,5663956,406,273)
{
OpType=3
link(onResult,2496571:doText,[])
link(Op1,9335710:Var3,[(412,262)])
link(Op2,12382233:Text,[])
}
Add(Edit,3465096,476,77)
{
Left=140
Top=5
Text=""
DataType=4
}
Add(Label,6213045,98,7)
{
Left=100
Top=10
Width=37
Height=17
Caption="D1/D2"
}
Add(Label,11007573,98,28)
{
Left=100
Top=35
Width=37
Height=17
Caption="D1/D3"
}
Add(Label,7524650,98,56)
{
Left=100
Top=60
Width=37
Height=17
Caption="D1/D4"
}
Add(Label,15939034,98,84)
{
Left=100
Top=85
Width=37
Height=17
Caption="D1/D5"
}
Add(GetDataEx,3095036,357,60)
{
link(Data,1790550:Text,[])
}
Add(GetDataEx,4737145,357,159)
{
link(Data,3095036:Var2,[])
}
Add(GetDataEx,9335710,357,257)
{
link(Data,4737145:Var2,[])
}
Все данные вводятся в 5 полей ввода и потом происходит расчет. Полученные значения надо внести на график. Но как сделать не могу понять. По одному значению понимаю как обавлять на график, но как сразу все 4 значения внести?
И еще ось Y на прилагаемом в качестве примера как должно быть представляет собой логорифмическую шкалу. Как подобное можно реализовать в hiasm?
Сам файл графика примера лежит тут
https://yadi.sk/i/6cRUWB7tyNADz
карма: 0

0
Ответов: 824
Рейтинг: 138
#2: 2016-11-11 10:14:30 ЛС | профиль | цитата
схема


Add(MainForm,8683113,84,308)
{
Width=791
Height=421
Caption="Linear graph"
}
Add(Edit,1790550,420,112)
{
Left=35
Top=5
Text="0.025"
DataType=4
}
Add(Edit,399261,490,112)
{
Left=35
Top=30
Text="0.0013"
DataType=4
}
Add(Edit,15706673,483,217)
{
Left=35
Top=55
Text="0.00016"
DataType=4
}
Add(Edit,12382233,476,315)
{
Left=35
Top=80
Text="0.000024"
DataType=4
}
Add(Label,10334521,91,112)
{
Left=10
Top=10
Width=18
Height=17
Font=[MS Sans Serif,8,0,128,1]
Name="1"
Caption="D1"
}
Add(Label,14354605,91,154)
{
Left=10
Top=35
Width=18
Height=17
Caption="D2"
}
Add(Label,5398712,98,189)
{
Left=10
Top=60
Width=18
Height=17
Caption="D3"
}
Add(Label,743106,98,224)
{
Left=10
Top=85
Width=18
Height=17
Caption="D4"
}
Add(Label,2009625,98,262)
{
Left=10
Top=110
Width=18
Height=17
Caption="D5"
}
Add(ChildPanel,15147551,427,546)
{
link(Data1,7324731:Result,[(433,208)(489,208)])
link(Data2,10175644:Result,[(440,306)(482,306)])
link(Data3,5663956:Result,[(447,404)(475,404)])
link(Data4,12696271:Result,[(454,502)(468,502)])
}
BEGIN_SDK
Add(EditMulti,9860223,21,21)
{
WorkCount=1
DataCount=4
link(doWork1,5033557:doFor,[(98,27)(98,160)])
}
Add(Panel,8521985,35,105)
{
Left=205
Top=10
Width=555
Height=335
}
Add(Plotter,11338811,266,84)
{
Left=2
Top=2
Width=551
Height=331
Align=5
Color=16777215
Name="plotter"
GridX=4
MaxH=1000
MaxW=4
LeftMargin=50
}
Add(PlotLines,1112638,259,154)
{
Grapher="plotter"
Size=2
MaxValues=4
link(ValueY,15895513:Var,[(265,138)(307,138)(307,201)(195,201)])
link(ValueX,5033557:Position,[(272,145)(300,145)(300,194)(132,194)])
}
Add(GetIndexData,15895513,189,154)
{
Count=4
link(onIndex,1112638:doAdd,[])
link(Data1,9860223:Data1,[(195,145)(27,145)])
link(Data2,9860223:Data2,[(202,96)(34,96)])
link(Data3,9860223:Data3,[(209,89)(41,89)])
link(Data4,9860223:Data4,[(216,82)(48,82)])
}
Add(For,5033557,126,154)
{
End=3
link(onEvent,15895513:doIndex,[])
}
END_SDK
Add(Button,9235610,231,168)
{
Left=110
Top=110
link(onClick,13125873:doEvent1,[])
}
Add(Hub,13125873,280,168)
{
OutCount=6
link(onEvent1,7324731:doOperation,[])
link(onEvent2,10175644:doOperation,[(418,181)(418,272)])
link(onEvent3,5663956:doOperation,[(406,188)(406,370)])
link(onEvent4,12696271:doOperation,[(393,195)(393,461)])
link(onEvent6,15147551:doWork1,[(382,209)(382,552)])
}
Add(Edit,6421921,469,413)
{
Left=35
Top=105
Text="0.00026"
DataType=4
}
Add(Edit,15568843,525,266)
{
Left=140
Top=30
Text=""
DataType=4
}
Add(Edit,2496571,518,364)
{
Left=140
Top=55
Text=""
DataType=4
}
Add(Edit,4788227,511,455)
{
Left=140
Top=80
Text=""
DataType=4
}
Add(Math,12696271,462,455)
{
OpType=3
link(onResult,4788227:doText,[])
link(Op1,9335710:Var2,[(468,447)(426,447)])
link(Op2,6421921:Text,[])
}
Add(Math,7324731,483,168)
{
OpType=3
link(onResult,3465096:doText,[])
link(Op1,3095036:Var3,[(489,156)])
link(Op2,399261:Text,[])
}
Add(Math,10175644,476,266)
{
OpType=3
link(onResult,15568843:doText,[])
link(Op1,4737145:Var3,[(482,255)])
link(Op2,15706673:Text,[])
}
Add(Math,5663956,469,364)
{
OpType=3
link(onResult,2496571:doText,[])
link(Op1,9335710:Var3,[(475,353)])
link(Op2,12382233:Text,[])
}
Add(Edit,3465096,539,168)
{
Left=140
Top=5
Text=""
DataType=4
}
Add(Label,6213045,161,98)
{
Left=100
Top=10
Width=37
Height=17
Caption="D1/D2"
}
Add(Label,11007573,161,119)
{
Left=100
Top=35
Width=37
Height=17
Caption="D1/D3"
}
Add(Label,7524650,161,147)
{
Left=100
Top=60
Width=37
Height=17
Caption="D1/D4"
}
Add(Label,15939034,161,175)
{
Left=100
Top=85
Width=37
Height=17
Caption="D1/D5"
}
Add(GetDataEx,3095036,420,151)
{
link(Data,1790550:Text,[])
}
Add(GetDataEx,4737145,420,250)
{
link(Data,3095036:Var2,[])
}
Add(GetDataEx,9335710,420,348)
{
link(Data,4737145:Var2,[])
}
карма: 1

0
Ответов: 8921
Рейтинг: 823
#3: 2016-11-11 12:46:13 ЛС | профиль | цитата
Medvedoc,
схемка


Add(MainForm,2953706,287,28)
{
link(onCreate,13041093:doRandomize,[(361,48)(361,90)])
}
Add(Edit,16268454,259,168)
{
Left=40
Top=10
link(onChange,6951847:doCalc,[(298,174)(298,209)(249,209)(249,223)])
link(Str,6265443:Var1,[(265,159)])
}
Add(Edit,2581228,315,168)
{
Left=95
Top=10
link(onChange,16290746:doCalc,[(354,174)(354,209)(305,209)(305,223)])
link(Str,6265443:Var2,[])
}
Add(Edit,6863231,371,168)
{
Left=150
Top=10
link(Str,6889375:Var2,[])
}
Add(Edit,15871585,427,168)
{
Left=210
Top=10
link(onChange,13920140:doCalc,[(466,174)(466,209)(417,209)(417,223)])
link(Str,12786122:Var2,[])
}
Add(Edit,2185953,483,168)
{
Left=265
Top=10
link(onChange,10837987:doCalc,[(522,174)(522,209)(473,209)(473,223)])
link(Str,12786122:Var3,[(489,159)])
}
Add(Random,13041093,371,77)
{
Min=1
Max=1000000
}
Add(For,496173,287,77)
{
End=4
link(onEvent,1150099:doEvent1,[])
}
Add(IndexToChanel,15195572,210,126)
{
Count=5
link(onEvent1,2185953:doText,[(474,132)(474,174)])
link(onEvent2,15871585:doText,[(419,139)(419,174)])
link(onEvent3,6863231:doText,[(362,146)(362,174)])
link(onEvent4,2581228:doText,[(305,153)(305,174)])
link(onEvent5,16268454:doText,[(249,160)(249,174)])
}
Add(Hub,1150099,329,77)
{
link(onEvent1,13041093:doRandom,[])
link(onEvent2,15195572:doEvent,[(354,90)(354,118)(200,118)(200,132)])
}
Add(GetDataEx,6889375,371,154)
{
link(Data,13041093:Random,[])
}
Add(GetDataEx,6265443,315,154)
{
Angle=1
link(Data,6889375:Var1,[])
}
Add(GetDataEx,12786122,427,154)
{
Angle=3
link(Data,6889375:Var3,[])
}
Add(Timer,6579888,210,77)
{
Interval=32
link(onTimer,496173:doFor,[])
}
Add(Plotter,4949667,455,77)
{
Left=5
Top=40
Width=375
Height=220
Color=12639424
Name="MyPlotter"
GridY=8
MinH=-1
MaxH=7
}
Add(MathParse,6951847,259,217)
{
DataCount=1
MathStr="lg(%1)"
link(onResult,8423183:doAdd,[(298,223)(298,258)(249,258)(249,272)])
}
Add(PlotLines,8423183,259,266)
{
Grapher="MyPlotter"
Step=1
MaxValues=100
}
Add(MathParse,16290746,315,217)
{
DataCount=1
MathStr="lg(%1)"
link(onResult,9985349:doAdd,[(354,223)(354,258)(305,258)(305,272)])
}
Add(PlotLines,9985349,315,266)
{
Grapher="MyPlotter"
Color=65280
Step=1
MaxValues=100
}
Add(MathParse,16764926,371,217)
{
DataCount=1
MathStr="lg(%1)"
link(onResult,1944752:doAdd,[(410,223)(410,258)(361,258)(361,272)])
}
Add(PlotLines,1944752,371,266)
{
Grapher="MyPlotter"
Color=16711680
Step=1
MaxValues=100
}
Add(MathParse,13920140,427,217)
{
DataCount=1
MathStr="lg(%1)"
link(onResult,9221839:doAdd,[(466,223)(466,258)(417,258)(417,272)])
}
Add(PlotLines,9221839,427,266)
{
Grapher="MyPlotter"
Color=65535
Step=1
MaxValues=100
}
Add(MathParse,10837987,483,217)
{
DataCount=1
MathStr="lg(%1)"
link(onResult,9522455:doAdd,[(522,223)(522,258)(473,258)(473,272)])
}
Add(PlotLines,9522455,483,266)
{
Grapher="MyPlotter"
Color=32768
Step=1
MaxValues=100
}
Add(Button,6905411,84,77)
{
Left=330
Top=10
Width=40
Caption=">> / II"
link(onClick,4091855:doNext,[])
}
Add(Counter,4091855,126,77)
{
Max=1
link(onNext,14696978:doEvent,[])
}
Add(IndexToChanel,14696978,168,77)
{
link(onEvent1,6579888:doTimer,[])
link(onEvent2,6579888:doStop,[])
}
карма: 19

0
Ответов: 254
Рейтинг: 6
#4: 2016-11-11 23:58:10 ЛС | профиль | цитата
sashaoli, самое то, но есть вопросик

В приведенном файле Excel ось Y логарифмическая. Как подобное можно сделать в графике на Hiasm? И можно как-нибудь подписи оси X спрятать?

Леонид, пример внушает уважение, но к сожалению я в нем так и не смог разобраться.
карма: 0

0
Ответов: 8921
Рейтинг: 823
#5: 2016-11-12 10:29:33 ЛС | профиль | цитата
Medvedoc, у Plotter-а есть свойство Margin -- отступы самого графика от рамки, установите их по 2--5 пикселей и надписи не будут видны, а шкалу можно нарисовать на картинке и расположить рядом
карма: 19

0
Ответов: 254
Рейтинг: 6
#6: 2016-11-12 15:31:17 ЛС | профиль | цитата
Леонид, спасибо за подсказку про отступы ))) помогло. А по поводу шкалы тут посложнее - нарисовать не проблема, только график будет рисоватьсч как обычный. В Excele пример этой шкалы. Если в настройках отключить галочку логарифмическая, то график становится как в графике sashaoli. А как сделать логарифмическую пока не понятно увы.
карма: 0

0
Ответов: 8921
Рейтинг: 823
#7: 2016-11-12 15:43:12 ЛС | профиль | цитата
Medvedoc, график это линия, а логарифмические значения его делают ваши вычисления
карма: 19

0
Ответов: 254
Рейтинг: 6
#8: 2016-11-13 18:05:11 ЛС | профиль | цитата
Леонид, точно. Как-то это из головы вылетело. Думаю полученные результаты надо перевести по логарифмической формеле и все получится ))) буду думать. Спасибо
карма: 0

0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)