Minor gridlines

colinclout12 shared this question 4 years ago

I'm extremely frustrated with this program. I would like to do a couple simple things:

1) Have minor grid lines every 10 seconds, not every 12. (Or, every 15 seconds, not every 12.)

2) Make a new segment with the same settings as the one I just created. If I have to create my own minor grid lines, (by putting in lines x=10, x=20, etc.) they default to thick black, and I have to individually change every single new line.

3) Put new lines behind old ones. Right now, when I enter new minor grid lines by hand, they default to being on top of everything else that I've already drawn. There should be a way to change this, since they're on top, but it seems the only way is to change all the old lines to level 1, one, at, a, time. (And even that doesn't always work.)

4) Load the settings menu: When I click on the gear to bring up the menu (I thought the easiest way to delete all the new lines that didn't work was to close and start over), it doesn't even load the menu.

Is there really no simple way to put in grid minor grid lines? Or to move new objects *behind* old ones (it wouldn't be too hard if objects defaulted to level 5, not level 0)? Or to open the settings menu?

Comments (7)


For 1) there is unfortunately no such option, but it's easy to create your custom grid (see 2))

For 2) the most efficient way is to use lists in the input bar, then you can create tens of gridlines with a single command:

l3=Sequence(x=k,k,-10,10, 1/12)

For 3) you can use Properties > Advanced > Layer. Also you can disable selection for the gridlines to make sure clicking in graphics view selects objects on top of the grid and not your custom grid itself.

For 4) this works fine for me -- which version of GeoGebra and which platform are you using?


Thanks for the response!

For 2, that's helpful.

For 3, the problem is that I have a large number of objects that defaulted to level zero, and I want to put my gridlines behind them. But for some reason, the default is that even though the gridlines and the original objects are level 0, the gridlines are on top. (I was creating gridlines one by one, perhaps it will be different with the sequence of gridlines.) I need to move the gridlines behind the objects I originally created, but since everything's on level 0, it doesn't seem there's any way to do that; and instead I have to move everything but the gridlines to level 1. But that's *extremely* time consuming.

4) I'm using the attached file. This is a timeline of some data from my dissertation, but it stopped letting me click the gear, perhaps because I'm using too many objects. (When I click the gear, both in the online app, and in Classic 6, the tool bar flashes, but nothing else happens.) When I delete some objects though, the gear doesn't start working again. I have a not-much-older backup that I can perhaps use, and the gear still works on it, but I'm concerned it will crash on it too.

Thanks again!


for 3) you can try selecting all objects using Ctrl+A and set layer to 1, then set the layer for gridlines to 0

for 4) if you reset the layout (Menu > Perspectives > Graphing), the properties view opens as expected. Not sure why it doesn't happen with the layout that's saved in the file.

In general the file is quite slow. You can simplify it by using Segment() command to create segments; Curve takes more time to plot. Also merging the objects into lists will help (you can have the input numbers in one list, then create list of segments using Sequence or Zip commands. I don't have time to help with that in more detail but I hope someone else from the community will.


for 4) he had docked the properties view at the right side an resized it therefore it was not visible anymore

You could simplify that file if you would store the data values in matrices like the following (first column y-pos, second column start, last column end, each row for one segment (unlimited rows))

list_{red} = {{1, a + 6, a + 18}, {1, a + 31, a + 32}, {1, a + 48, a + 51}}
And create as Zbynek suggestedy all Segments with one Sequence command:
Sequence(  Segment((Element(list_{red},k,2),Element(list_{red},k,1)),Element(list_{red},k,3),Element(list_{red},k,1)))  , k, 1, Length(list_{red}))


Thank you!

I think it was a result of the slow file--it lagged the properties view to a small size.


An approach with spreadsheet:

The idea:

All variable informations for the grafic are in the spreadsheet.

All Expressions/Commands to generate the grafic are in the Algebra-View and use the variables from Spreadsheet.

The sample in the attachment is one of a lot other possibilities.

A good design of the spread-sheet show to

- good for reading

- suport the collecting of Data

- flexible for future functional expanding

It's a good idea make first a small sample with all needed possibilities. Then expand and test this.

Last type the real data in the spreadsheet


Each line in the spreadsheet can hav 0,1 or 2 represantations in the grafic

one command-type (l1..l999) is dependig of columne A

the other command-type is for the columne F (Marker)

both comand-types can use all or a part of the Coordinates (B,C,D,E)

The most time (?) the horizontal bars are in a sequence without gaps.

With using Formulas in the spreadsheet you must only give the Length and the initial-FromX. The

FromX and ToX can be generated with a Formula in the spreedshett (copy relative)


you must understand (minimum):



and maybe others from https://www.geogebra.org/m/...

The moste importand: copy cells (relative) with formulas

Syntax A3:A500 (in Algebra-View)

is a list of all cells from A3 before the first empty/deleted cell in columne A (max line 500)



properties of lists: NOT for each element ONLY same properties for all elementsin one list

For example: different colors -> diferent list


In Sequence() its possible to use <list>(<index>) instead of Element(<list>,<index>)

MarkP and MarkT is realised with Sequence() because the same in Zip() has a (initial-) bug


Sometime (for example for objects in pixel-size: example "text") you must shift relativ in pixels and NOT in GGB-units.

For this define 1 time in the Algebraview:

pixX= Distance(Corner(1),Corner(2)) / x(Corner(5)+(2,2))

pixY= Distance(Corner(1),Corner(4)) / y(Corner(5)+(2,2))

1pixX is the lenght in GGB-units for 1 pixel on the screen (depending of zoom)

Now you can shift any object in pixels and independent of zoom-factor

Example: Text("ABC", (1,1)+(20pixX,30pixY))


Is something not clear:

- make small samples in GGB to check your thesis

- read the manual again

- search in Google: GeoGebra help .......

- ask in the forum (include ggb-file and please later give feedback)


That was super helpful, thank you! I actually have all my data in excel, but didn't have any idea how to make this sort of Geogebra graphic except by entering individually, everything by hand. But since it's already there in Excel it's really easy to move it over into Geogebra.

© 2023 International GeoGebra Institute