мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
python:week13 [12/04/2017 01:05] – создано ybezrukovpython:week13 [13/04/2017 12:41] (текущий) – [Диаграммы в matplotlib] ybezrukov
Строка 1: Строка 1:
-Как популярный язык, Питон оброс уже большим количеством библиотек, позволяющих упростить жизнь во многих аспектах. Рассмотрим сегодня две из них. Библиотеку для работы с графиками matplotlib и библиотеку для работы с табличными данными pandas.+Как популярный язык, Питон оброс уже большим количеством библиотек, позволяющих упростить жизнь во многих аспектах. Сегодня и далее мы рассмотрим две из них. Библиотеку для работы с графиками matplotlib и библиотеку для работы с табличными данными pandas.
  
 ====== Диаграммы в matplotlib ====== ====== Диаграммы в matplotlib ======
Строка 6: Строка 6:
  
 <code python> <code python>
-import matplotlib.pyplot as plt # подключем модуль pyplo+import matplotlib.pyplot as plt # подключем модуль pyplot
 x_axis = range(1, 20)  # создадим список данных для оси X x_axis = range(1, 20)  # создадим список данных для оси X
-y_axis = [i * i for i in range(1, 20)] # и для оси Y, здесь использован известный по  +y_axis = [i * i for i in range(1, 20)] # и для оси Y, здесь использован генератор для создания списка 
-plt.plot(x_axis, y_axis)+plt.plot(x_axis, y_axis) # рисуем картинку. Метод plot принимает здесь два аргумента, список значений для осей X и Y 
 +plt.show() # покажем получившуюся диаграмму на экран
 </code> </code>
 +{{ :python:diagr1.png?600 |}}
    
 +Нарисуем еще, например, график синуса. Здесь мы слегка заденем по поверхности одной из самых мощных питоновых библиотек - numpy, используем ее методы для создания списка значений.
  
-====== Пакет pandas ====== +<code python> 
-pandas это библиотека для языка Питон, которая дает методы для более удобной работы с {{ :python:53269.png?100|}}+import matplotlib.pyplot as plt 
 +import numpy as np # подключим модуль numpy 
 + 
 +x_axis np.arange(0.0, 1.0, 0.01) # создадим список  чисел от 0 до 1 с шагом 0.01. Принцип, идентичный уже известному нам range, но более оптимален по скорости работы для большого количества данных 
 +y_axis = np.sin(2*np.pi*x_axis) # аналогично для оси Y, обратите внимание, как в этой библиотеке упрощено обход значений других списков. Мы передаем значение списка x_axis просто как аргумент функцииа библиотека уже понимает, что если передали список, то на выходе тоже хотим список. 
 +line, = plt.plot(x_axis, y_axis, color='red', lw=2) # здесь мы добавили новую особенность, цвет и ширину линии диаграммы 
 + 
 +plt.show() 
 +</code> 
 + 
 +{{ :python:sine.png?600 |}} 
 + 
 + 
 +В качестве подписи для оси Х могут выступать не только числа, но и символы. А диаграмма не только линия, но и гистограмма: 
 + 
 +<code python> 
 +import matplotlib.pyplot as plt 
 +import numpy as np 
 + 
 +planets = ['Меркурий', 'Венера', 'Земля', 'Марс', 'Юпитер', 'Сатурн', 'Уран',ептун'] 
 +x_axis = np.arange(len(planets)) 
 +y_axis = [4879.4, 12103.6, 12742.0, 6780.0, 139822, 116464, 50724, 49244] # диаметры планет 
 +plt.xticks(x_axis, planets, rotation=45) # здесь мы и говорим, что вместо чисел нам нужны названия из списка планет, да еще повернутые на 45 гр дусов 
 +plt.bar(x_axis, y_axis, align='center', alpha=0.5) # вместо функции plot мы используем функцию bar 
 +plt.show() 
 +</code> 
 +{{ :python:platens.png?600 |}} 
 + 
 + 
 + 
 +====== Задание 13 ====== 
 + 
 +Прочитать {{ :python:hubble.txt |файл}} с данными измерений космического телескопа Хаббл и нарисовать диаграмму зависимости скорости убегания от объекта измерения. 
 + 
 +====== Задание 14 ====== 
 +Используя информацию о городах и странах из предыдущих заданий, нарисовать гистограмму количества городов в странах, для первых 10 стран с наибольшим количеством городов