Hi,
I would like to do something similiar like this
with PGFPlotsX. I´m a newbie in plotting with PGFPlotsX. I tried to it analogously like the example.
I use StatsBase
for plotting the histogram.
Here first the code of a 2d histogram.
using Random
using Distributions
using PGFPlotsX
using Plots
plotly()
using StatsBase: fit
using StatsBase: Histogram
dists = [randn(1000, 1) for i in 1:4]
# create axis
axis = @pgf Axis(
{
grid = "both",
xmax = maximum(dists[1]),
xmin = minimum(dists[1]),
xlabel="x",
ylabel="y",
xtick = collect(round(minimum([minimum(dists[i]) for i in 1:length(dists)]), digits=1):0.5:round(maximum([maximum(dists[i]) for i in 1:length(dists)]), digits=1)),
ytick = collect(0:20:100),
xticklabel = raw"$\pgfmathprintnumber\tick$",
"xticklabel style" =
{
"rotate"=90,
"anchor"="east",
font = raw"\tiny"
},
},
)
# draw histogram
hist1 = @pgf Plot(
{
fill_opacity = 0.65,
color = "blue",
fill = "blue",
"ybar interval"
},
Table(fit(Histogram, vec(dists[1]), closed = :left, nbins=40)))
push!(axis, hist1)
# draw red line
line = @pgf Plot(
{
color = "red",
style ="{dashed}"
},
Coordinates(
[
(0.25, 0),
(0.25, 100),
]
)
)
push!(axis, line)
#save plot
path = (@__DIR__) * raw"\histogram.tex"
pgfsave(path, axis, include_preamble=true, dpi=150)
When I would like to plot it in a 3d graph, then I think, that I´ve to extract the values of the histogram for my x- and y-axis of the Table in the 3d plot to plot it analogously like the 3d waterfall example .
curve = Plot3(
{
no_marks,
style = {thick},
color = "blue"
},
#######################################
Table(x = x_pnts,
y = (length(dists) - i) * ones(length(x_pnts)),
z = dat_pdf[i](x_pnts))
#######################################
)
Does somebody know how to do it or has an alternative?