Työskentely Selitteen Kanssa
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ä plt.legend()-funktiolle.
Toinen vaihtoehto
Voit myös määrittää nimikkeet suoraan piirtofunktioissa 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 tunnisteet piirretyistä elementeistä.
Kolmas vaihtoehto
Voit myös asettaa tunnisteet palautetun artist-olion set_label()-metodilla:
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:
|
|
|
|---|---|---|
|
|
|
|
|
|
Voit myös käyttää vaihtoehtoa 'best', joka sijoittaa selitteen automaattisesti kohtaan, jossa se peittää vähiten piirrettävää dataa. Lisäksi 'right' tuottaa saman tuloksen kuin 'center right'.
Voit tutustua aiheeseen lisää legend() dokumentaatiossa
Swipe to start coding
- Merkitse alimmat pylväät nimellä
'primary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse keskimmäiset pylväät nimellä
'secondary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse ylimmät pylväät 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
Mahtavaa!
Completion arvosana parantunut arvoon 6.25
Työskentely Selitteen Kanssa
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ä plt.legend()-funktiolle.
Toinen vaihtoehto
Voit myös määrittää nimikkeet suoraan piirtofunktioissa 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 tunnisteet piirretyistä elementeistä.
Kolmas vaihtoehto
Voit myös asettaa tunnisteet palautetun artist-olion set_label()-metodilla:
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:
|
|
|
|---|---|---|
|
|
|
|
|
|
Voit myös käyttää vaihtoehtoa 'best', joka sijoittaa selitteen automaattisesti kohtaan, jossa se peittää vähiten piirrettävää dataa. Lisäksi 'right' tuottaa saman tuloksen kuin 'center right'.
Voit tutustua aiheeseen lisää legend() dokumentaatiossa
Swipe to start coding
- Merkitse alimmat pylväät nimellä
'primary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse keskimmäiset pylväät nimellä
'secondary sector'käyttämällä sopivaa avainsana-argumenttia. - Merkitse ylimmät pylväät nimellä
'tertiary sector'käyttämällä sopivaa avainsana-argumenttia. - Sijoita selite oikealle puolelle, pystysuunnassa keskitettynä.
Ratkaisu
Kiitos palautteestasi!
single