Legge til Forklaring
Når et diagram inneholder flere elementer, bidrar en forklaring til å tydeliggjøre hva hvert element representerer. matplotlib tilbyr flere måter å lage en forklaring på.
Første alternativ
Alle etiketter kan defineres direkte i plt.legend():
123456789101112131415161718import numpy as np import matplotlib.pyplot as plt questions = ['question_1', 'question_2', 'question_3'] yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = np.array([yes_answers, no_answers]) positions = np.arange(len(questions)) width = 0.3 for i in range(len(answers)): plt.bar(positions + width * i, answers[i], width) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend(['positive answers', 'negative answers']) plt.show()
Dette oppretter en forklaring i øvre venstre hjørne ved å sende en liste med etiketter inn i plt.legend().
Andre alternativ
Etiketter kan også tildeles direkte i plottfunksjonene ved å bruke parameteren label=:
1234567891011121314151617181920import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i in range(len(answers)): plt.bar(positions + width*i, answers[i], width, label=labels[i]) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend() plt.show()
Her samler plt.legend() automatisk etiketter fra de plottede elementene.
Tredje alternativ
Etiketter kan også angis ved å bruke set_label()-metoden til den returnerte artisten:
12345678910111213141516171819202122import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] width = 0.3 labels = ['positive answers', 'negative answers'] for i in range(len(answers)): bar = plt.bar(positions + width*i, answers[i], width) bar.set_label(labels[i]) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
Plassering av forklaring
Argumentet loc styrer hvor forklaringen vises. Standardverdien 'best' lar matplotlib automatisk velge en optimal plassering.
12345678910111213141516171819202122import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i, label in enumerate(labels): bars = plt.bar(positions + width*i, answers[i], width) bars.set_label(label) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
Gyldige verdier for loc inkluderer:
'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.
Du kan utforske mer i legend() dokumentasjonen
Swipe to start coding
- Merk de laveste søylene som
'primary sector'ved å angi riktig nøkkelordargument. - Merk søylene i midten som
'secondary sector'ved å angi riktig nøkkelordargument. - Merk de øverste søylene som
'tertiary sector'ved å angi riktig nøkkelordargument. - Plasser forklaringen på høyre side, sentrert vertikalt.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.85
Legge til Forklaring
Sveip for å vise menyen
Når et diagram inneholder flere elementer, bidrar en forklaring til å tydeliggjøre hva hvert element representerer. matplotlib tilbyr flere måter å lage en forklaring på.
Første alternativ
Alle etiketter kan defineres direkte i plt.legend():
123456789101112131415161718import numpy as np import matplotlib.pyplot as plt questions = ['question_1', 'question_2', 'question_3'] yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = np.array([yes_answers, no_answers]) positions = np.arange(len(questions)) width = 0.3 for i in range(len(answers)): plt.bar(positions + width * i, answers[i], width) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend(['positive answers', 'negative answers']) plt.show()
Dette oppretter en forklaring i øvre venstre hjørne ved å sende en liste med etiketter inn i plt.legend().
Andre alternativ
Etiketter kan også tildeles direkte i plottfunksjonene ved å bruke parameteren label=:
1234567891011121314151617181920import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i in range(len(answers)): plt.bar(positions + width*i, answers[i], width, label=labels[i]) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend() plt.show()
Her samler plt.legend() automatisk etiketter fra de plottede elementene.
Tredje alternativ
Etiketter kan også angis ved å bruke set_label()-metoden til den returnerte artisten:
12345678910111213141516171819202122import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] width = 0.3 labels = ['positive answers', 'negative answers'] for i in range(len(answers)): bar = plt.bar(positions + width*i, answers[i], width) bar.set_label(labels[i]) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
Plassering av forklaring
Argumentet loc styrer hvor forklaringen vises. Standardverdien 'best' lar matplotlib automatisk velge en optimal plassering.
12345678910111213141516171819202122import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i, label in enumerate(labels): bars = plt.bar(positions + width*i, answers[i], width) bars.set_label(label) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
Gyldige verdier for loc inkluderer:
'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.
Du kan utforske mer i legend() dokumentasjonen
Swipe to start coding
- Merk de laveste søylene som
'primary sector'ved å angi riktig nøkkelordargument. - Merk søylene i midten som
'secondary sector'ved å angi riktig nøkkelordargument. - Merk de øverste søylene som
'tertiary sector'ved å angi riktig nøkkelordargument. - Plasser forklaringen på høyre side, sentrert vertikalt.
Løsning
Takk for tilbakemeldingene dine!
single