Вверх ↑
Этот топик читают: Гость
Ответов: 189
Рейтинг: 1
#1: 2025-11-09 03:18:01 ЛС | профиль | цитата
Подскажите пожалуйста как сделать рейтинговую гистограмму из списка такого примерно плана как в схеме
хочется чтобы названия были над столбиками
Add(MainForm,16184661,133,196)
{
Left=20
Top=105
Width=792
Height=412
Caption="Histogram"
link(onCreate,6817355:doWork2,[])
}
Add(Plotter,10574215,504,49)
{
Width=776
Height=368
Align=5
Name="pl1"
GridColor=16776960
BorderColor=-16777211
GridStyle=0
GridX=0
GridY=0
MaxH=10
}
Add(PlotAxis,4986410,602,49)
{
Grapher="pl1"
Name="X1"
Color=0
Style=2
}
Add(PlotHistogram,7049018,455,217)
{
Grapher="pl1"
Color=8421504
Step=3
Name="Values"
BgColor=-16777203
Axis="X1"
Point(ValuesX)
Point(ValuesY)
link(onAdd,9665008:doSetText,[])
}
Add(Button,13093684,448,49)
{
Left=225
Top=30
Caption="clear"
link(onClick,10574215:doClear,[])
}
Add(StrList,11326325,280,91)
{
Strings=#8:яблоки;9|8:бананы;8|9:персики;6|7:вишня;5|9:черешня;5|8:клюква;3|0:|
}
Add(ArrayEnum,11780986,294,217)
{
link(onItem,1190069:doSplit,[])
link(Array,16511161:Var2,[])
}
Add(PlotSeriesMarker,9665008,525,217)
{
Grapher="pl1"
FrameStyle=5
BgStyle=1
HAlign=1
Series="Values"
link(QueryText,8481455:GetData,[])
}
Add(ArrayRW,16487273,574,168)
{
link(onRead,15673581:doSplit,[])
link(Array,16511161:Var3,[(580,145)])
}
Add(EventFromData,8481455,525,168)
{
link(onEvent,16487273:doRead,[])
}
Add(MultiStrData,1190069,385,217)
{
link(Str,11780986:Item,[(391,205)(345,205)(345,261)(300,261)])
link(onPart1,7049018:doAdd,[])
}
Add(Hub,5989497,224,210)
{
link(onEvent1,1948542:In,[])
link(onEvent2,11780986:doEnum,[])
}
Add(LineBreak,6545,224,98)
{
Caption="cl"
Primary=[1948542,28,112]
}
Add(GetDataEx,16511161,294,140)
{
link(Data,11326325:Array,[])
}
Add(MultiStrData,15673581,616,168)
{
link(onPart1,8481455:doData,[(660,174)(660,162)(513,162)(513,174)])
}
Add(Button,6787751,133,245)
{
Left=160
Top=30
Caption="go"
link(onClick,6817355:doWork3,[(193,251)])
}
Add(HubEx,6817355,189,210)
{
link(onEvent,5989497:doEvent1,[])
}


Редактировалось 1 раз(а), последний 2025-11-09 03:19:44
карма: 1

0
Ответов: 990
Рейтинг: 207
#2: 2025-11-09 06:31:01 ЛС | профиль | цитата
Gitarist писал(а):
хочется чтобы названия были над столбиками

Они и так над столбцами


Add(MainForm,16184661,231,280)
{
Left=20
Top=105
Width=792
Height=412
Caption="Histogram"
link(onCreate,6817355:doWork2,[])
}
Add(Plotter,10574215,602,133)
{
Width=776
Height=368
Align=5
Name="pl1"
GridColor=16776960
BorderColor=-16777211
GridStyle=0
GridX=0
GridY=0
MinH=-1
MaxH=15
MinW=-2
MaxW=20
}
Add(PlotHistogram,7049018,504,308)
{
Grapher="pl1"
Color=8421504
Step=3
Name="Values"
BgColor=-16777203
Axis="X1"
Point(ValuesX)
Point(ValuesY)
}
Add(Button,13093684,546,133)
{
Left=225
Top=30
Caption="clear"
link(onClick,10574215:doClear,[])
}
Add(StrList,11326325,378,175)
{
Strings=#8:яблоки;9|8:бананы;8|9:персики;6|7:вишня;5|9:черешня;5|8:клюква;3|0:|
}
Add(ArrayEnum,11780986,392,301)
{
link(onItem,1190069:doSplit,[])
link(onEndEnum,9665008:doSetText,[(431,314)(431,370)])
link(Array,16511161:Var2,[])
}
Add(PlotSeriesMarker,9665008,567,364)
{
Grapher="pl1"
FrameStyle=5
BgStyle=1
HAlign=1
Series="Values"
link(QueryText,8481455:GetData,[])
}
Add(ArrayRW,16487273,616,308)
{
link(onRead,15673581:doSplit,[])
link(Array,16511161:Var3,[(622,229)])
}
Add(EventFromData,8481455,567,308)
{
link(onEvent,16487273:doRead,[])
}
Add(MultiStrData,1190069,441,301)
{
link(onPart2,7049018:doAdd,[])
}
Add(Hub,5989497,322,294)
{
link(onEvent1,1948542:In,[(347,300)(347,293)])
link(onEvent2,11780986:doEnum,[])
}
Add(LineBreak,8140132,322,182)
{
Caption="cl"
Primary=[1948542,35,105]
}
Add(GetDataEx,16511161,392,224)
{
link(Data,11326325:Array,[])
}
Add(MultiStrData,15673581,658,308)
{
link(onPart1,8481455:doData,[(702,314)(702,302)(555,302)(555,314)])
}
Add(Button,6787751,231,329)
{
Left=160
Top=30
Caption="go"
link(onClick,6817355:doWork3,[(291,335)])
}
Add(HubEx,6817355,287,294)
{
link(onEvent,5989497:doEvent1,[])
}
Add(PlotAxis,4986410,658,133)
{
Grapher="pl1"
Name="X1"
Color=0
Style=2
}

карма: 20

1
Голосовали:Gitarist
Ответов: 189
Рейтинг: 1
#3: 2025-11-09 06:42:56 ЛС | профиль | цитата
Благодарю. Уменя то вообще ничего не получалось. теперь буду пользоваться вашим примером.
п.с. прочтите личку
карма: 1

0
Ответов: 189
Рейтинг: 1
#4: 2025-11-10 00:39:09 ЛС | профиль | цитата
Подскажите еще, как сделать, чтобы столбики шли по порядку убывания, начиная с самого большого, и заодно надо чтобы самый высокий столбец помещался в плоттер, ведь яблок может быть условно не 8, а 50

Редактировалось 1 раз(а), последний 2025-11-10 00:40:43
карма: 1

0
Ответов: 990
Рейтинг: 207
#5: 2025-11-10 05:44:32 ЛС | профиль | цитата
Gitarist писал(а):
Подскажите еще, как сделать, чтобы столбики шли по порядку убывания, начиная с самого большого, и заодно надо чтобы самый высокий столбец помещался в плоттер, ведь яблок может быть условно не 8, а 50


Add(MainForm,16184661,112,161)
{
Left=20
Top=105
Width=792
Height=412
Caption="Histogram"
link(onCreate,5989497:doEvent1,[])
}
Add(Plotter,10574215,602,175)
{
Left=156
Top=45
Width=620
Height=328
Align=5
Name="pl1"
GridColor=16776960
BorderColor=-16777211
AxisColor=-16777201
GridStyle=0
GridX=0
GridY=0
MinH=-1
MaxH=15
MinW=-2
MaxW=20
Point(doMaxW)
Point(doMaxH)
}
Add(PlotHistogram,7049018,413,210)
{
Grapher="pl1"
Color=8421504
Step=3
Name="Values"
BgColor=-16777203
Axis="X1"
Point(ValuesX)
Point(ValuesY)
}
Add(StrList,11326325,217,49)
{
Strings=#12:яблоки;9 |12:бананы;8 |12:персики;6 |12:вишня;5 |12:черешня;5 |12:клюква;3 |8:киви;4 |9:черника;7|10:малина;12 |
}
Add(PlotSeriesMarker,9665008,301,406)
{
Grapher="pl1"
FrameStyle=5
BgStyle=1
HAlign=1
Series="Values"
link(QueryText,8481455:GetData,[])
}
Add(EventFromData,8481455,301,350)
{
link(onEvent,2127722:doRead,[(340,356)(340,342)(249,342)(249,356)])
}
Add(Hub,5989497,175,175)
{
InCount=2
OutCount=4
link(onEvent1,9513990:doEnum,[(200,181)(200,111)])
link(onEvent2,16209489:doCalc,[])
link(onEvent3,585307:doEMatrix,[(249,195)(249,251)])
link(onEvent4,9665008:doSetText,[(207,202)(207,412)])
}
Add(PlotAxis,4986410,658,175)
{
Grapher="pl1"
Name="X1"
Color=0
Style=2
}
Add(MathParse,16209489,511,182)
{
MathStr="(%1 - 1) * 3 + 2"
link(onResult,10574215:doMaxW,[])
link(X1,7967511:Count,[])
}
Add(MTStrTbl,7967511,497,133)
{
Top=45
Width=156
Height=328
Align=1
Color=-16777201
Ctl3D=1
WinStyle=1
Name="tabl"
Columns=#1:1|1:2|
ColorItems=0
Redaction=0
Style=4
Grid=0
}
Add(ArrayEnum,9513990,231,105)
{
link(onItem,658004:doMTString,[])
link(onEndEnum,5530192:doData,[(277,118)(277,146)])
link(Array,11326325:Array,[])
}
Add(MST_RowAction,14594931,336,91)
{
MSTControl="tabl"
}
Add(MST_SortInCol,4529767,336,133)
{
MethodSort=1
MSTControl="tabl"
Point(doSortDigit)
link(onChange,9859496:doColAction,[])
}
Add(DoData,5530192,287,140)
{
Data=Integer(1)
link(onEventData,4529767:doSortDigit,[])
}
Add(MT_String,658004,287,91)
{
link(onResult,14594931:doRowAction,[])
}
Add(MST_ColAction,9859496,385,133)
{
Action=9
MinColWidth=0
Index=-2
MSTControl="tabl"
}
Add(Label,2884795,448,133)
{
Width=776
Height=45
Align=2
Caption=""
AutoSize=1
}
Add(Button,13093684,546,133)
{
Left=225
Top=15
Caption="clear"
link(onClick,10574215:doClear,[(592,139)(592,181)])
}
Add(Button,6787751,112,210)
{
Left=160
Top=15
Caption="go"
link(onClick,5989497:doEvent2,[(151,216)(151,188)])
}
Add(MST_Matrix,585307,259,245)
{
X=1
Y=-1
MSTControl="tabl"
link(onEMatrix,10912701:doEnum,[])
}
Add(MT_Enum,10912701,308,245)
{
link(onItem,5285132:doEvent1,[])
link(onEndEnum,8266699:doOperation,[(361,258)(361,307)])
}
Add(MathParse,5636243,413,252)
{
MathStr="max( %1,%0)"
}
Add(MatrixRW,2127722,259,350)
{
X=1
link(onRead,8481455:doData,[])
link(Matrix,585307:Matrix,[])
link(X,10872164:Value,[])
}
Add(Memory,10872164,273,294)
{
Default=Integer(0)
}
Add(Hub,5285132,371,245)
{
link(onEvent1,7049018:doAdd,[(396,251)(396,216)])
link(onEvent2,5636243:doCalc,[])
}
Add(Math,8266699,413,301)
{
Op2=1
ResultType=0
link(onResult,10574215:doMaxH,[(550,307)(550,195)])
link(Op1,5636243:Result,[])
}

карма: 20

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