I got data (1503, 38697) (cell(datapoint), genes(features)), each elements has integer values (gene expression).

so something like

           gene 1           gene 2          gene 3
cell 1        10                 0              20
cell 2        20                10              50

I plotted some data points as histogram for each cell (x axis for gene (features), y axis for value ), but it takes too much time with matplotlib.

One of my boss said I should make this plot as 3D, recommend to split x-axis (x-axis for gene (features)). And make sure not to loose x-axis information.

How should I split x-axis?


1 Answer 1


What your boss means by 'split x-axis' is not clear for me either. Might be best to ask that person.

Will your datapoints be like $\left(X,\,Y,\,Z\right)=\left(10, \,0,\,20\right)$, $\left(20,\,10,\,50\right)$? In this case the data naturally lies in the positive sector of XYZ plot.

I would perhaps think of doing a radial transform and plotting radius as color and angles as coordinates on paper. Even better choice might be something like https://en.wikipedia.org/wiki/Stereographic_projection, where you still plot radius $r=\sqrt{X^2+Y^2+Z^2}$ as color, and the other two coordinates as positions on the piece of paper. I would probably have the north pole axis to be $\left(1,1,1\right)$ so that there is symmetry between the three axis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.