# How do I put two different tick thickness and tick length for a ListLogplot

Here is Mathematica line code where I am plotting a list log plot

ListLogPlot[{{10, 450}, {14, 460}, {17, 850}, {20, 1450}, {30, 1654}},
PlotRange -> Automatic, Joined -> True, PlotTheme -> "Classic",
Frame -> True, ImageSize -> Large, BaseStyle -> Large] I need the following modification.

X axis

I only need 10,20 and 30 as Major ticks of thickness 0.02, 15 and 25 are minor ticks of thickness 0.008. I also need to increase the length.

the solution is that one can either use this or the following

LinTicks[10,30,10,2,MajorTickLength -> 0.02, MinorTickLength -> 0.008]]


using the package here.

Now for Y axis, I need 500,1000,1500 as major ticks of thickness 0.03 and minor ticks of thickness 0.01. How do I perform these operations? I can use log ticks from the package, but that will only show us in some base unit, that is not what I want.

last but not the least

how do I increase the length of the overall ticks for linear x-axis and log y axis in this scenario

## 1 Answer

This is a general way of getting the kinds of ticks you probably want in your plot. You should be able to modify individual entries to get the lengths and thicknesses of major and minor ticks to be anything you want. The documentation for FrameTicks points to the documentation for Ticks where all of the details are given.

xBottomMajorTicks = Table[{x, x, {0.02, 0}, Thickness[0.002]}, {x, 10, 30, 10}];
xBottomMinorTicks = Table[{x, x, {0.01, 0}, Thickness[0.0008]}, {x, 15, 25, 10}];
xBottomTicks = Join[xBottomMajorTicks, xBottomMinorTicks];

xTopMajorTicks = Table[{x, "", {0.02, 0}, Thickness[0.002]}, {x, 10, 30, 10}];
xTopMinorTicks = Table[{x, "", {0.01, 0}, Thickness[0.0008]}, {x, 15, 25, 10}];
xTopTicks = Join[xTopMajorTicks, xTopMinorTicks];

yLeftMajorTicks = Table[{y, y, {0.02, 0}, Thickness[0.002]}, {y, 500, 1500, 500}];
yLeftMinorTicks = Table[{y, "", {0.01, 0}, Thickness[0.0008]}, {y, 400, 1700, 50}];
yLeftTicks = Join[yLeftMajorTicks, yLeftMinorTicks];

yRightMajorTicks = Table[{y, "", {0.02, 0}, Thickness[0.002]}, {y, 500, 1500, 500}];
yRightMinorTicks = Table[{y, "", {0.01, 0}, Thickness[0.0008]}, {y, 400, 1700, 50}];
yRightTicks = Join[yRightMajorTicks, yRightMinorTicks];

ListLogPlot[{{10, 450}, {14, 460}, {17, 850}, {20, 1450}, {30, 1654}},
PlotRange -> Automatic,
Joined -> True,
Mesh -> All,
PlotTheme -> "Classic",
Frame -> True,
FrameTicks -> {{yLeftTicks, yRightTicks}, {xBottomTicks, xTopTicks}},
ImageSize -> Large, BaseStyle -> Large] 