Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
Activity
Roman Bange
@rbange
hey guys, any idea on how to decrease the padding between multiple subplots in a layout?
BerndR
@bernd1995
Hey guys, is it somehow possible to 'load' a previously created plot again into julia and retrieve data like x-, y- and z-components?
In particular I would be interested to do this for a *.html file created with the plotly-backend.
HelgavonLichtenstein
@HelgavonLichtenstein

Hello, how could I plot negative numbers with log10? I have

@df df_final_biomass_diff_array_fw_10_industry_high scatter(:body_mass_fw_1,:bio_diff_S33_1, xaxis = :log10, yaxis = log10.(:bio_diff_S33_1 .+ 10))
Which works, but then the yaxis disappears.

I am using Plots with Julia 1.5
Roman Bange
@rbange
@HelgavonLichtenstein obviously you cannot simply calculate the log10 of negative values, thats why Plots fails to do this
had the same issue a while ago
i modified my data by applying a log-modulus transformation beforehand https://blogs.sas.com/content/iml/2014/07/14/log-transformation-of-pos-neg.html
HelgavonLichtenstein
@HelgavonLichtenstein
Yes, I understand, but I try to make the values positive by adding 10 to the yaxis
A MWE
x = -10:0.01:10
y = x
plot(x, y)
plot(x, y, yaxis = log10.(y .+ 100))
It works, but the scale disappears from y
Roman Bange
@rbange
Ah i see
HelgavonLichtenstein
@HelgavonLichtenstein
I like this log-modulus transformation you shared
Roman Bange
@rbange
Its nice as you can boundlessly plot negative to positive values
I also tested the sample you shared, it does work as expected, but yaxis = log10.(y .+ 100) only yields values from 1.95 to 2.04 so its a straight line
Maybe the yaxis is displayed, but outside of the value space? Meaning y samples are distributed e.g. 0-100, but the yaxis is shown at e.g. y=300
HelgavonLichtenstein
@HelgavonLichtenstein
How do you change the value space?
Roman Bange
@rbange
Guess its fitted to the given data
i think the proper solution is @df df_final_biomass_diff_array_fw_10_industry_high scatter(:body_mass_fw_1,log10.(:bio_diff_S33_1 .+ 10), xaxis = :log10)
HelgavonLichtenstein
@HelgavonLichtenstein
Neato, using the log-modulus transformation it looks like
@df df_final_biomass_diff_array_fw_10_industry_high scatter(:body_mass_fw_1, sign.(:bio_diff_S33_1).*log10.(abs.(:bio_diff_S33_1).+1), xaxis = :log10)
Roman Bange
@rbange
HelgavonLichtenstein
@HelgavonLichtenstein
Thanks!
Do you know how to make the yaxis show 10^ like on the xaxis? That would be perfect if possible
Roman Bange
@rbange
I only know the workaround by specifing the ticks manually yticks!([-1:1:1;], ["min", "zero", "max"])
guess you can also pass a tuple to the yticks attribute withtin the scatter() call, there is an example somewhere in the documentation
Ah yes, like this yticks = ([0:0.2:1;], ["$i\\%" for i in 0:20:100]) HelgavonLichtenstein @HelgavonLichtenstein I don't understand the second half of that Roman Bange @rbange the content doesnt matter, this is just from one of my plots and generates the yaxis labels scatter(..., yticks = (ticks, labelsforeachtick)) HelgavonLichtenstein @HelgavonLichtenstein Unfortunately I can't figure it out plot(x, sign.(y).*log10.(abs.(y).+1),yticks = ([-1.0:0.1:1.0], 10^$ticks)) doesn't work because \$ is only for strings.
Nonetheless, thank you very much for your suggestion!
BridgingBot
@GitterIRCbot
[slack] <dpsanders> Is it possible to change the way that arrows are displayed by Plots (with GR backend) in plot(x, y, arrow=true)?

[slack] <Moelf> I think the answer is no by looking at the

Supported arguments
in docs' GR page

[slack] <dpsanders> Hmm OK, thanks
BridgingBot
@GitterIRCbot
[slack] <loki._.> Plots allows to pass an Arrow contructor to change some parameters, but I don’t know whether this is implemented in the backend
BridgingBot
@GitterIRCbot
[slack] <dpsanders> How do you use that?
BridgingBot
@GitterIRCbot
[slack] <loki._.> arrow = Arrow(0.5, 0.1)
BridgingBot
@GitterIRCbot

[slack] <pfitzseb> Anyone know why I'm getting
julia> graphplot(wheel_digraph(10))
ERROR: MethodError: no method matching plot(::GraphRecipes.GraphPlot)
Stacktrace:
[1] graphplot(::SimpleDiGraph{Int64}; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/pfitzseb/.julia/packages/RecipesBase/92zOw/src/RecipesBase.jl:357
[2] graphplot(::SimpleDiGraph{Int64}) at /home/pfitzseb/.julia/packages/RecipesBase/92zOw/src/RecipesBase.jl:357
[3] top-level scope at REPL[13]:1

(@v1.5) pkg> st
Status ~/.julia/environments/v1.5/Project.toml
[bd48cda9] GraphRecipes v0.5.4
[093fc24a] LightGraphs v1.3.0
[626554b9] MetaGraphs v0.6.6
[91a5bcdd] Plots v1.8.1

[slack] <pfitzseb> maybe something going wrong with Requires or whatnot?
BridgingBot
@GitterIRCbot
[slack] <daschw> It works for me with the same versions:
(@graphplots) pkg> st Status ~/.julia/environments/graphplots/Project.toml [bd48cda9] GraphRecipes v0.5.4 [093fc24a] LightGraphs v1.3.0 [626554b9] MetaGraphs v0.6.6 [91a5bcdd] Plots v1.8.1
[slack] <pfitzseb> oh wait
[slack] <pfitzseb> I think I forgot to load Plots...
BridgingBot
@GitterIRCbot

[slack] <dpsanders> 
julia> using Plots: Arrow

julia> plot([(3, 4), (5, 6)], arrow=Arrow(0.5, 0.2))
ERROR: MethodError: no method matching Arrow(::Float64, ::Float64)

[slack] <dpsanders> Thanks. arrow=Arrow(:simple, :head, 1.0, 1.0) works, but indeed doesn’t change the arrowhead in GR 😕. I think the syntax arrow=arrow(1.0, 1.0) is also supposed to work.
BridgingBot
@GitterIRCbot

[slack] <rveltz> Hi,

How can I subdivide a subplot?

plot(plot(rand(10)), plot(rand(100))) plot!(plot(rand(10)), plot(rand(20)),subplot = 2, layout = (2,1))

BridgingBot
@GitterIRCbot
[slack] <nils.gudat> Sharing this over here:
BridgingBot
@GitterIRCbot
[slack] <nils.gudat> It looks like something funny is going on with StaticArrays and Plots in the same environment

[slack] <nils.gudat> Can anybody try
(@v1.5) pkg> activate --temp Activating new environment atC:\Users\ngudat\AppData\Local\Temp\jl_CgzhED\Project.toml

`