Визуализация данных с Python

Введение

Примеры

  • 4

    Matplotlib

    Matplotlib является математической библиотекой зарисовки для Python , которая предоставляет множество различного функционального черчения.

    Документацию Matplotlib можно найти здесь , с SO Docs будет доступна здесь .

    Matplotlib предоставляет два различных метода для построения графиков, хотя по большей части они взаимозаменяемы:

    • Во - первых, Matplotlib обеспечивает pyplot интерфейс, прямой и простой в использовании интерфейс , который позволяет прорисовку сложных графиков в MATLAB-подобный стиль.
    • Во-вторых, matplotlib позволяет пользователю управлять различными аспектами (осями, линиями, галочками и т. Д.) Напрямую, используя систему на основе объектов. Это сложнее, но позволяет полностью контролировать весь сюжет.

    Ниже приведен пример использования pyplot интерфейса для построения некоторых сгенерированных данные:

     import matplotlib.pyplot as plt
    
    # Generate some data for plotting.
    x = [0, 1, 2, 3, 4, 5, 6]
    y = [i**2 for i in x]
    
    # Plot the data x, y with some keyword arguments that control the plot style.
    # Use two different plot commands to plot both points (scatter) and a line (plot).
    
    plt.scatter(x, y, c='blue', marker='x', s=100) # Create blue markers of shape "x" and size 100
    plt.plot(x, y, color='red', linewidth=2) # Create a red line with linewidth 2.
    
    # Add some text to the axes and a title.
    plt.xlabel('x data')
    plt.ylabel('y data')
    plt.title('An example plot')
    
    # Generate the plot and show to the user.
    plt.show()
    
     

    Пример сюжета

    Обратите внимание , что plt.show() , как известно, проблематично в некоторых средах за счет запуска matplotlib.pyplot в интерактивном режиме, и если да, то поведение блокировки может быть переопределен в явном виде путем передачи в дополнительный аргумент, plt.show(block=True) , чтобы облегчить эту проблему.

  • 6

    рожденное море

    Seaborn является оберткой Matplotlib , что позволяет легко создавать общие статистические графики. Список поддерживаемых графиков включает в себя одномерные и двумерные графики распределения, графики регрессии и ряд методов для построения категориальных переменных. Полный список участков Seaborn предоставляет в их справочнике API .

    Создание графиков в Seaborn так же просто, как вызов соответствующей графической функции. Вот пример создания гистограммы, оценки плотности ядра и графика коврика для случайно сгенерированных данных.

     import numpy as np  # numpy used to create data from plotting
    import seaborn as sns  # common form of importing seaborn
    
    # Generate normally distributed data
    data = np.random.randn(1000)
    
    # Plot a histogram with both a rugplot and kde graph superimposed
    sns.distplot(data, kde=True, rug=True)
    
     

    Пример distplot

    Стиль сюжета также можно контролировать с помощью декларативного синтаксиса.

     # Using previously created imports and data.
    
    # Use a dark background with no grid.
    sns.set_style('dark')
    # Create the plot again
    sns.distplot(data, kde=True, rug=True)
    
     

    Пример стайлинга

    В качестве дополнительного бонуса, обычные команды matplotlib могут по-прежнему применяться к участкам Seaborn. Вот пример добавления заголовков осей к нашей ранее созданной гистограмме.

     # Using previously created data and style
    
    # Access to matplotlib commands
    import matplotlib.pyplot as plt
    
    # Previously created plot. 
    sns.distplot(data, kde=True, rug=True)
    # Set the axis labels.
    plt.xlabel('This is my x-axis')
    plt.ylabel('This is my y-axis')
    
     

    Пример matplotlib

  • 0

    MayaVi

    MayaVi это инструмент 3D визуализации научных данных. Он использует набор инструментов визуализации или VTK под капотом. Используя силу ВТК , MayaVi способен производить различные 3-мерных графиков и цифр. Он доступен в виде отдельного программного приложения, а также в виде библиотеки. Подобно Matplotlib , эта библиотека предоставляет объектно - ориентированный язык интерфейса программирования для создания графиков без необходимости знать о ВТК.

    MayaVI доступен только в серии Python 2.7x! Ожидается, что он скоро будет доступен в серии Python 3-x! (Хотя некоторый успех замечен при использовании его зависимостей в Python 3)

    Документация может быть найдена здесь . Некоторые примеры галереи находятся здесь

    Вот пример сюжет создан с использованием MayaVi из документации.

     # Author: Gael Varoquaux <gael.varoquaux@normalesup.org>
    # Copyright (c) 2007, Enthought, Inc.
    # License: BSD Style.
    
    
    from numpy import sin, cos, mgrid, pi, sqrt
    from mayavi import mlab
    
    mlab.figure(fgcolor=(0, 0, 0), bgcolor=(1, 1, 1))
    u, v = mgrid[- 0.035:pi:0.01, - 0.035:pi:0.01]
    
    X = 2 / 3. * (cos(u) * cos(2 * v)
            + sqrt(2) * sin(u) * cos(v)) * cos(u) / (sqrt(2) -
                                                     sin(2 * u) * sin(3 * v))
    Y = 2 / 3. * (cos(u) * sin(2 * v) -
            sqrt(2) * sin(u) * sin(v)) * cos(u) / (sqrt(2)
            - sin(2 * u) * sin(3 * v))
    Z = -sqrt(2) * cos(u) * cos(u) / (sqrt(2) - sin(2 * u) * sin(3 * v))
    S = sin(u)
    
    mlab.mesh(X, Y, Z, scalars=S, colormap='YlGnBu', )
    
    # Nice view from the front
    mlab.view(.0, - 5.0, 4)
    mlab.show()
    
     

    образ

  • 0

    Plotly

    Plotly современная платформа для построения и визуализации данных. Полезно для производства различных участков, особенно для науки данных, Plotly доступна как библиотека для Python, R, JavaScript, Юль и, MATLAB. Он также может быть использован как веб-приложение с этими языками.

    Пользователи могут установить библиотеку plotly и использовать ее в автономном режиме после аутентификации пользователя. Установка этой библиотеки и в автономном режиме аутентификации дается здесь . Кроме того , участки могут быть сделаны в Jupyter ноутбуков , а также.

    Для использования этой библиотеки требуется учетная запись с именем пользователя и паролем. Это дает рабочее пространство для сохранения графиков и данных в облаке.

    Бесплатная версия библиотеки имеет несколько ограниченные возможности и рассчитана на 250 сюжетов в день. Платная версия имеет все функции, неограниченное количество скачиваний сюжетов и более приватное хранилище данных. Для получения более подробной информации можно посетить главную страницу здесь .

    Для документации и примеров, можно пойти здесь

    Пример сюжета из примеров документации:

     import plotly.graph_objs as go
    import plotly as ply
    
    # Create random data with numpy
    import numpy as np
    
    N = 100
    random_x = np.linspace(0, 1, N)
    random_y0 = np.random.randn(N)+5
    random_y1 = np.random.randn(N)
    random_y2 = np.random.randn(N)-5
    
    # Create traces
    trace0 = go.Scatter(
        x = random_x,
    y = random_y0,
    mode = 'lines',
    name = 'lines'
    )
    trace1 = go.Scatter(
        x = random_x,
        y = random_y1,
        mode = 'lines+markers',
        name = 'lines+markers'
    )
    trace2 = go.Scatter(
        x = random_x,
        y = random_y2,
        mode = 'markers',
        name = 'markers'
    )
    data = [trace0, trace1, trace2]
    
    ply.offline.plot(data, filename='line-mode')
    
     

    участок

Синтаксис

Параметры

Примечания