0

I am plotting the foll. dataframe using pandas:

╔═════════════════════════════════════════════════════════════════════════╗
║                       country_name              1960s      1970s        ║
╠═════════════════════════════════════════════════════════════════════════╣
║ functional_crop_type                                                    ║
║ C3annual              United States of America  48.226957  42.384590    ║
║ C3perennial           United States of America   1.377634   1.377971    ║
║ C4annual              United States of America  32.526747  32.833662    ║
║ C4perennial           United States of America   0.265062   0.289005    ║
║ N-fixing              United States of America  17.603600  23.114773    ║
╚═════════════════════════════════════════════════════════════════════════╝   
╔════════════════════════════════════════════════════════════════════╗
║                       1980s      1990s      2000s      2010s       ║
╠════════════════════════════════════════════════════════════════════╣
║ functional_crop_type                                               ║
║ C3annual              41.184368  39.085943  32.821374  28.767468   ║
║ C3perennial            1.413647   1.561404   1.657869   1.691046   ║
║ C4annual              31.260082  32.089138  33.705184  36.815154   ║
║ C4perennial            0.303626   0.367331   0.386495   0.359842   ║
║ N-fixing              25.838277  26.896184  31.429078  32.366490   ║
╚════════════════════════════════════════════════════════════════════╝

Using the foll. command:

out_dec_df = out_dec_df.set_index('functional_crop_type')
out_dec_df.plot(kind='bar',stacked=True)

However, I want the x-axis to be '1960s', '1970s'...'2010s' and the stacked bar plot to be composed of the functional crop types. How do I do this?

enter image description here

1 Answer 1

1

Try using transpose.

out_dec_df.drop('country_name', axis=1).T.plot(kind='bar',stacked=True)
Sign up to request clarification or add additional context in comments.

3 Comments

I did try that earlier, but it tells me that there is no numeric data to plot
@user308827 can you upload the csv version of your df using out_dec_df.to_csv(), so that I can play with the real dataset?
@user308827 I guess that's because the column country_name is string, and after transposing, it has no numeric value. try drop that column and then transpose.

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.