Histogram3D frame ticks with bin text labels rendered in x-y plane?
Here's something to get you started, based on wxffles' comment:
Generate a Histogram3D
:
histo = Histogram3D[RandomVariate[UniformDistribution[{0, 10}], {500, 2}],
ChartElementFunction -> "GradientScaleCube"];
Generate some labels and Rasterize
them with a specific height:
labels1 = Rasterize[Style[Column[DictionaryLookup["a*"][[;; 10]], Dividers -> All],
FontFamily -> "Calibri"], ImageSize -> {{10^6}, {300}}, RasterSize -> 300];
labels2 = Rasterize[Style[Column[DictionaryLookup["z*"][[-10 ;;]], Dividers -> All],
FontFamily -> "Calibri"], ImageSize -> {{10^6}, {300}}, RasterSize -> 300];
Calculate the width of the polygons to maintain the aspect ratio of the labels (in this case the polygon height will be 10 as there are 10 bins):
w1 = ImageDimensions[labels1][[1]]*10./300;
w2 = ImageDimensions[labels2][[1]]*10./300;
Put it all together:
Show[histo, Graphics3D[{
Texture[labels1], Polygon[{{-w1-1,0,0},{-1,0,0},{-1,10,0},{-w1-1,10,0}},
VertexTextureCoordinates -> {{0,0},{1,0},{1,1},{0,1}}],
Texture[labels2], Polygon[{{0,11+w2,0},{0,11,0},{10,11,0},{10,11+w2,0}},
VertexTextureCoordinates - >{{0,0},{1,0},{1,1},{0,1}}]
}], PlotRange -> All, Boxed -> False, BoxRatios -> {1,1,0.4}, Axes -> {False, False, True},
FaceGrids -> {{{0,0,-1},{Range[0,10],Range[0,10]}}}]