Szukaj…


Matplotlib

Matplotlib to biblioteka matematyczna do drukowania w języku Python, która zapewnia wiele różnych funkcji drukowania.

Dokumentację matplotlib można znaleźć tutaj , a Dokumenty SO są dostępne tutaj .

Matplotlib zapewnia dwie różne metody kreślenia, choć w większości są one wymienne:

  • Po pierwsze, matplotlib zapewnia interfejs pyplot , bezpośredni i prosty w użyciu interfejs, który umożliwia wykreślanie złożonych wykresów w stylu podobnym do MATLAB.
  • Po drugie, matplotlib pozwala użytkownikowi kontrolować różne aspekty (osie, linie, tiki itp.) Bezpośrednio przy użyciu systemu obiektowego. Jest to trudniejsze, ale pozwala na pełną kontrolę nad całą fabułą.

Poniżej znajduje się przykład użycia interfejsu pyplot do wykreślenia niektórych wygenerowanych danych:

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()

Przykładowa fabuła

Zauważ, że plt.show() jest znany w niektórych środowiskach jako problematyczny ze względu na uruchamianie matplotlib.pyplot w trybie interaktywnym, a jeśli tak, zachowanie blokujące można jawnie zastąpić poprzez przekazanie opcjonalnego argumentu, plt.show(block=True) , aby złagodzić problem.

Dno morskie

Seaborn to opakowanie wokół Matplotlib, które ułatwia tworzenie wspólnych wykresów statystycznych. Lista obsługiwanych wykresów obejmuje wykresy rozkładu jednowymiarowego i dwuwymiarowego, wykresy regresji oraz szereg metod wykreślania zmiennych kategorialnych. Pełna lista działek udostępnianych przez Seaborn znajduje się w odnośniku API .

Tworzenie wykresów w Seaborn jest tak proste, jak wywołanie odpowiedniej funkcji graficznej. Oto przykład tworzenia histogramu, szacowania gęstości jądra i wykresu dywanu dla losowo generowanych danych.

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)

Przykładowy wykres

Stylem fabuły można również sterować za pomocą składni deklaratywnej.

# 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)

Przykładowa stylizacja

Jako dodatkowy bonus, normalne polecenia matplotlib można nadal stosować do wykresów Seaborn. Oto przykład dodawania tytułów osi do wcześniej utworzonego histogramu.

# 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')

Przykład matplotlib

MayaVI

MayaVI to narzędzie do wizualizacji 3D dla danych naukowych. Korzysta z zestawu narzędzi do wizualizacji lub VTK pod maską. Wykorzystując moc VTK , MayaVI jest w stanie wytwarzać różne trójwymiarowe wykresy i liczby. Jest dostępny jako osobna aplikacja, a także jako biblioteka. Ta biblioteka, podobnie jak Matplotlib , zapewnia zorientowany obiektowo interfejs języka programowania do tworzenia wykresów bez konieczności znajomości VTK .

MayaVI jest dostępny tylko w serii Python 2.7x! Oczekuje się, że wkrótce będzie dostępny w serii Python 3-x! (Chociaż zauważono pewien sukces przy korzystaniu z jego zależności w Pythonie 3)

Dokumentacja znajduje się tutaj . Niektóre przykłady galerii można znaleźć tutaj

Oto przykładowy wykres utworzony przy użyciu MayaVI z dokumentacji.

# Author: Gael Varoquaux <[email protected]>
# 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()

wizerunek

Działka

Plotly to nowoczesna platforma do kreślenia i wizualizacji danych. Przydatny do tworzenia różnorodnych wykresów, szczególnie do analizy danych, Plotly jest dostępny jako biblioteka dla Python , R , JavaScript , Julia i MATLAB . Może być również używany jako aplikacja internetowa z tymi językami.

Użytkownicy mogą zainstalować bibliotekę działkową i używać jej offline po uwierzytelnieniu użytkownika. Instalacja tego uwierzytelniania biblioteki i offline jest podana tutaj . Również wykresy można wykonywać w Notatnikach Jupyter .

Korzystanie z tej biblioteki wymaga konta z nazwą użytkownika i hasłem. Daje to obszar roboczy do zapisywania wykresów i danych w chmurze.

Darmowa wersja biblioteki ma nieco ograniczone funkcje i jest przeznaczona do wykonywania 250 wykresów dziennie. Wersja płatna ma wszystkie funkcje, nielimitowane pobieranie działek i więcej prywatnego przechowywania danych. Aby uzyskać więcej informacji, możesz odwiedzić stronę główną tutaj .

Dokumentację i przykłady można znaleźć tutaj

Przykładowy wykres z przykładów dokumentacji:

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')

Wątek



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow