Difference between revisions of "Matplotlib"
Jump to navigation
Jump to search
Rafahsolis (talk | contribs) m (→Example) Tag: visualeditor |
Rafahsolis (talk | contribs) m (→Example) Tag: visualeditor |
||
| Line 1: | Line 1: | ||
| − | == Formatter strings == | + | ==Formatter strings== |
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html | https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html | ||
| − | == | + | ==Examples== |
| + | |||
| + | === Lines === | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
from matplotlib import pyplot as plt | from matplotlib import pyplot as plt | ||
| − | |||
| − | |||
ages_x = [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, | ages_x = [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, | ||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55] | 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55] | ||
| − | |||
py_dev_y = [20046, 17100, 20000, 24744, 30500, 37732, 41247, 45372, 48876, 53850, 57287, 63016, 65998, 70003, 70000, 71496, 75370, 83640, 84666, | py_dev_y = [20046, 17100, 20000, 24744, 30500, 37732, 41247, 45372, 48876, 53850, 57287, 63016, 65998, 70003, 70000, 71496, 75370, 83640, 84666, | ||
84392, 78254, 85000, 87038, 91991, 100000, 94796, 97962, 93302, 99240, 102736, 112285, 100771, 104708, 108423, 101407, 112542, 122870, 120000] | 84392, 78254, 85000, 87038, 91991, 100000, 94796, 97962, 93302, 99240, 102736, 112285, 100771, 104708, 108423, 101407, 112542, 122870, 120000] | ||
| − | |||
| − | |||
js_dev_y = [16446, 16791, 18942, 21780, 25704, 29000, 34372, 37810, 43515, 46823, 49293, 53437, 56373, 62375, 66674, 68745, 68746, 74583, 79000, | js_dev_y = [16446, 16791, 18942, 21780, 25704, 29000, 34372, 37810, 43515, 46823, 49293, 53437, 56373, 62375, 66674, 68745, 68746, 74583, 79000, | ||
78508, 79996, 80403, 83820, 88833, 91660, 87892, 96243, 90000, 99313, 91660, 102264, 100000, 100000, 91660, 99240, 108000, 105000, 104000] | 78508, 79996, 80403, 83820, 88833, 91660, 87892, 96243, 90000, 99313, 91660, 102264, 100000, 100000, 91660, 99240, 108000, 105000, 104000] | ||
| − | |||
| − | |||
dev_y = [17784, 16500, 18012, 20628, 25206, 30252, 34368, 38496, 42000, 46752, 49320, 53200, 56000, 62316, 64928, 67317, 68748, 73752, 77232, | dev_y = [17784, 16500, 18012, 20628, 25206, 30252, 34368, 38496, 42000, 46752, 49320, 53200, 56000, 62316, 64928, 67317, 68748, 73752, 77232, | ||
78000, 78508, 79536, 82488, 88935, 90000, 90056, 95000, 90000, 91633, 91660, 98150, 98964, 100000, 98988, 100000, 108923, 105000, 103117] | 78000, 78508, 79536, 82488, 88935, 90000, 90056, 95000, 90000, 91633, 91660, 98150, 98964, 100000, 98988, 100000, 108923, 105000, 103117] | ||
| + | |||
| + | |||
| + | # plt.xkcd() # --> comic style | ||
| + | # print(plt.style.available) | ||
| + | plt.style.use('fivethirtyeight') | ||
| + | plt.plot(ages_x, py_dev_y, linewidth=3, label='Python') | ||
| + | plt.plot(ages_x, js_dev_y, label='JavaScript') | ||
plt.plot(ages_x, dev_y, color='#444444', linestyle='--', marker='o' label='All Devs') | plt.plot(ages_x, dev_y, color='#444444', linestyle='--', marker='o' label='All Devs') | ||
| − | |||
plt.xlabel('Ages') | plt.xlabel('Ages') | ||
plt.ylabel('Median Salary (USD)') | plt.ylabel('Median Salary (USD)') | ||
plt.title('Median Salary (USD) by Age') | plt.title('Median Salary (USD) by Age') | ||
| + | plt.legend() | ||
| + | plt.grid(True) | ||
| + | plt.tight_layout() | ||
| + | plt.savefig('plot.png') | ||
| + | plt.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Bar === | ||
| + | <syntaxhighlight lang="python3"> | ||
| + | |||
| + | import csv | ||
| + | import numpy as np | ||
| + | import pandas as pd | ||
| + | from collections import Counter | ||
| + | from matplotlib import pyplot as plt | ||
| + | |||
| + | plt.style.use("fivethirtyeight") | ||
| + | |||
| + | data = pd.read_csv('data.csv') | ||
| + | ids = data['Responder_id'] | ||
| + | lang_responses = data['LanguagesWorkedWith'] | ||
| + | |||
| + | language_counter = Counter() | ||
| + | |||
| + | for response in lang_responses: | ||
| + | language_counter.update(response.split(';')) | ||
| + | |||
| + | languages = [] | ||
| + | popularity = [] | ||
| + | |||
| + | for item in language_counter.most_common(15): | ||
| + | languages.append(item[0]) | ||
| + | popularity.append(item[1]) | ||
| + | |||
| + | languages.reverse() | ||
| + | popularity.reverse() | ||
| − | plt. | + | plt.barh(languages, popularity) |
| + | |||
| + | plt.title("Most Popular Languages") | ||
| + | # plt.ylabel("Programming Languages") | ||
| + | plt.xlabel("Number of People Who Use") | ||
plt.tight_layout() | plt.tight_layout() | ||
| − | |||
| − | |||
plt.show() | plt.show() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 15:53, 12 February 2022
Formatter strings
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
Examples
Lines
from matplotlib import pyplot as plt
ages_x = [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55]
py_dev_y = [20046, 17100, 20000, 24744, 30500, 37732, 41247, 45372, 48876, 53850, 57287, 63016, 65998, 70003, 70000, 71496, 75370, 83640, 84666,
84392, 78254, 85000, 87038, 91991, 100000, 94796, 97962, 93302, 99240, 102736, 112285, 100771, 104708, 108423, 101407, 112542, 122870, 120000]
js_dev_y = [16446, 16791, 18942, 21780, 25704, 29000, 34372, 37810, 43515, 46823, 49293, 53437, 56373, 62375, 66674, 68745, 68746, 74583, 79000,
78508, 79996, 80403, 83820, 88833, 91660, 87892, 96243, 90000, 99313, 91660, 102264, 100000, 100000, 91660, 99240, 108000, 105000, 104000]
dev_y = [17784, 16500, 18012, 20628, 25206, 30252, 34368, 38496, 42000, 46752, 49320, 53200, 56000, 62316, 64928, 67317, 68748, 73752, 77232,
78000, 78508, 79536, 82488, 88935, 90000, 90056, 95000, 90000, 91633, 91660, 98150, 98964, 100000, 98988, 100000, 108923, 105000, 103117]
# plt.xkcd() # --> comic style
# print(plt.style.available)
plt.style.use('fivethirtyeight')
plt.plot(ages_x, py_dev_y, linewidth=3, label='Python')
plt.plot(ages_x, js_dev_y, label='JavaScript')
plt.plot(ages_x, dev_y, color='#444444', linestyle='--', marker='o' label='All Devs')
plt.xlabel('Ages')
plt.ylabel('Median Salary (USD)')
plt.title('Median Salary (USD) by Age')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.savefig('plot.png')
plt.show()
Bar
import csv
import numpy as np
import pandas as pd
from collections import Counter
from matplotlib import pyplot as plt
plt.style.use("fivethirtyeight")
data = pd.read_csv('data.csv')
ids = data['Responder_id']
lang_responses = data['LanguagesWorkedWith']
language_counter = Counter()
for response in lang_responses:
language_counter.update(response.split(';'))
languages = []
popularity = []
for item in language_counter.most_common(15):
languages.append(item[0])
popularity.append(item[1])
languages.reverse()
popularity.reverse()
plt.barh(languages, popularity)
plt.title("Most Popular Languages")
# plt.ylabel("Programming Languages")
plt.xlabel("Number of People Who Use")
plt.tight_layout()
plt.show()