Skip to content

[FR] Ability to properly set axis ticks on 2d color plot when using log axes #3013

@TorkelE

Description

@TorkelE

It is possible that there might be a way to do this, but have looked around, as well as asked several people, and haven't gotten a solution.

The basic problem is this, I have a matrix of RGB colours, I can use display this as a plot, but I would like to customise the axes. The colours represent various system behaviours. I have two parameters which I vary, for each pairing, I get a behaviour (and thus a colour), which I assign to one place in the matrix. I vary the parameters on a log scale. Plots seem to be unable to properly assign the right axis values.

This is a basic example where I try two different strategies:

using Plots

x_grid = 10 .^(range(-0,stop=2,length=100))
y_grid = 10 .^(range(-0,stop=2,length=100))
color_grid = get_color_grid(x_grid,y_grid)

p1 = plot(y_grid,x_grid,color_grid,yflip=false,aspect_ratio=:none)
p2 = plot(y_grid,x_grid,color_grid, xscale=:log10,yscale=:log10,yflip=false,aspect_ratio=:none)
plot(p1,p2,size=(800,350))

this yields the following result (where color_grid is generated by some algorithm).
1990d07743b9f4ec350e57f3bc5e69b74e877d65 (1)
Now, I basically want axis values like in the right plot, but on the plot to the left. I want a normal square grid of all my grid colours, like in the leftmost plot. But in the leftmost plot the axis values are all wrong (where it displays the value of 40, it should instead be 10 .^(range(-0,stop=2,length=100)[40]).

Would it be possible for plots to improve the customizability of the axes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions