2017-12-24 3 views
1

Ich habe zwei Wörterbücher, die Werte ist die Anzahl der Menschen ...So trennen Sie gestapelte Balken in Matplotlib?

d_1={1947: 1, 1950: 1, 1951: 2, 1955: 2, 1956: 1, 1957: 2, 1958: 2, 1959: 3, 1960: 1....} 

d_2={1936: 1, 1945: 1, 1948: 2, 1949: 1, 1950: 2, 1951: 2, 1952: 3, 1953: 1, 1954: 41..} 

Und ich will Balkendiagramm erstellen, die die Zahl der Menschen zeigt. Und die X-Achse wird im Jahr gebildet.

Wenn ich dieses Code-Format verwendet, ist fast das gleiche mit Ausnahme der gestapelten Balken. Ich möchte, dass sie getrennt werden. Wie kann ich das beheben?

import matplotlib.pyplot as plt 
import numpy as np 
import matplotlib.pyplot as plt; plt.rcdefaults() 

    x1=[t for t in d_1.keys()] 
    y1=[k for k in d_1.values()] 
    x2=[m for m in d_2.keys()] 
    y2=[n for n in d_2.values()] 


    fig, ax = plt.subplots() 

    index = np.arange(len(years_without_duplicates)) 
    #list which has the years without duplicates 

    bar_width = 0.35 

    rects1 = plt.bar(x1, y1, bar_width,color='b') 
    rects2 = plt.bar(x2, y2, bar_width, color='r') 

    plt.xlabel('Years') 
    plt.ylabel('number of people') 
    plt.xticks([i for i in range(min(years_without_duplicates),max(years_without_duplicates)+1)],rotation=80,fontsize=6) 

    plt.legend() 



    plt.tight_layout() 

    plt.show() 

my bars are stacked but i want them to be seperated.

Antwort

2

verschieben Sie die Bars:

bar_width = 0.35 
x1 = [t - bar_width/2 for t in d_1.keys()] 
y1 = [k for k in d_1.values()] 
x2 = [m + bar_width/2 for m in d_2.keys()] 
y2 = [n for n in d_2.values()] 

enter image description here

+0

Ihnen danken für die Hilfe es funktionierte. – Beyza

Verwandte Themen