Legendan Lisääminen
Kun kaaviossa on useita elementtejä, selite auttaa selventämään, mitä kukin elementti edustaa. matplotlib tarjoaa useita tapoja luoda selite.
Ensimmäinen vaihtoehto
Kaikki selitteet voidaan määrittää suoraan plt.legend()-funktiossa:
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()
Tämä luo selitteen vasempaan yläkulmaan välittämällä listan nimikkeitä funktiolle plt.legend().
Toinen vaihtoehto
Voit myös määrittää nimikkeet suoraan piirtofunktioiden sisällä käyttämällä label=-parametria:
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()
Tässä plt.legend() kerää automaattisesti nimet piirrettävistä elementeistä.
Kolmas vaihtoehto
Voit myös asettaa nimet käyttämällä palautetun artistin set_label()-metodia:
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()
Selitteen sijainti
Argumentti loc määrittää, mihin kohtaan selite sijoitetaan. Oletusarvo 'best' pyytää matplotlib-kirjastoa valitsemaan automaattisesti parhaan sijainnin.
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()
Kelvollisia arvoja loc-parametrille ovat:
'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.
Voit tutustua aiheeseen tarkemmin legend() dokumentaatiossa
Swipe to start coding
- Merkitse alimmat palkit nimellä
'primary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse keskimmäiset palkit nimellä
'secondary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse ylimmät palkit nimellä
'tertiary sector'käyttämällä sopivaa avainsana-argumenttia. - Sijoita selite oikealle puolelle, pystysuunnassa keskitettynä.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.85
Legendan Lisääminen
Pyyhkäise näyttääksesi valikon
Kun kaaviossa on useita elementtejä, selite auttaa selventämään, mitä kukin elementti edustaa. matplotlib tarjoaa useita tapoja luoda selite.
Ensimmäinen vaihtoehto
Kaikki selitteet voidaan määrittää suoraan plt.legend()-funktiossa:
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()
Tämä luo selitteen vasempaan yläkulmaan välittämällä listan nimikkeitä funktiolle plt.legend().
Toinen vaihtoehto
Voit myös määrittää nimikkeet suoraan piirtofunktioiden sisällä käyttämällä label=-parametria:
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()
Tässä plt.legend() kerää automaattisesti nimet piirrettävistä elementeistä.
Kolmas vaihtoehto
Voit myös asettaa nimet käyttämällä palautetun artistin set_label()-metodia:
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()
Selitteen sijainti
Argumentti loc määrittää, mihin kohtaan selite sijoitetaan. Oletusarvo 'best' pyytää matplotlib-kirjastoa valitsemaan automaattisesti parhaan sijainnin.
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()
Kelvollisia arvoja loc-parametrille ovat:
'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.
Voit tutustua aiheeseen tarkemmin legend() dokumentaatiossa
Swipe to start coding
- Merkitse alimmat palkit nimellä
'primary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse keskimmäiset palkit nimellä
'secondary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse ylimmät palkit nimellä
'tertiary sector'käyttämällä sopivaa avainsana-argumenttia. - Sijoita selite oikealle puolelle, pystysuunnassa keskitettynä.
Ratkaisu
Kiitos palautteestasi!
single