1

I have the following DataFrame:

j   k   z
16  36  3.34541e-07
19  40  4.4038e-07
21  52  1.24715e-06
24  41  9.13244e-07
25  37  6.33979e-07
25  45  5.89413e-07
26  31  7.83958e-07
26  36  6.24651e-07
26  42  5.44847e-07
26  47  4.77851e-07
27  30  8.50074e-07
27  35  5.51727e-07
27  36  1.2272e-06
27  38  5.77199e-07

And I am not finding any solutions to display this data in a nice and simple way with a bar chart where j k are the bar indices and z controls the height.

I tried with plotly, matplotlib, and had very poor results

1
  • 1
    Why is everyone calling column charts histograms these days? Commented May 26, 2023 at 21:23

1 Answer 1

1

Using matplotlib:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame([
    [16, 36, 3.34541e-07],
    [19, 40, 4.4038e-07],
    [21, 52, 1.24715e-06],
    [24, 41, 9.13244e-07],
    [25, 37, 6.33979e-07],
    [25, 45, 5.89413e-07],
    [26, 31, 7.83958e-07],
    [26, 36, 6.24651e-07],
    [26, 42, 5.44847e-07],
    [26, 47, 4.77851e-07],
    [27, 30, 8.50074e-07],
    [27, 35, 5.51727e-07],
    [27, 36, 1.2272e-06],
    [27, 38, 5.77199e-07]
])
df.columns = ['j', 'k', 'z']


fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.bar3d(df['j'], df['k'], np.zeros_like(df['k']), dx=0.5, dy=1, dz=df['z'])
ax.set_xlabel('j')
ax.set_ylabel('k')
plt.show()

Example

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.