Sök…


Anmärkningar

Översikt

matplotlib är ett plottbibliotek för Python. Det tillhandahåller objektorienterade API: er för att bädda in tomter i applikationer. Det liknar MATLAB i kapacitet och syntax.

Det är ursprungligen skriven av JDHunter och utvecklas aktivt. Det distribueras under en BSD-stillicens.

versioner

Version Python-versioner stöds Anmärkningar Utgivningsdatum
1.3.1 2,6, 2,7, 3x Äldre stabil version 2013/10/10
1.4.3 2,6, 2,7, 3x Tidigare stabil version 2015/07/14
1.5.3 2,7, 3x Aktuell stabil version 2016/01/11
2.x 2,7, 3x Senaste utvecklingsversionen 2016/07/25

Installation och installation

Det finns flera sätt att installera matplotlib, av vilka vissa beror på det system du använder. Om du har tur kan du använda en pakethanterare för att enkelt installera matplotlib-modulen och dess beroenden.

Windows

På Windows-maskiner kan du försöka använda pip-pakethanteraren för att installera matplotlib. Se här för information om hur du ställer in pip i en Windows-miljö.

OS X

Det rekommenderas att du använder pip- pakethanteraren för att installera matplotlib. Om du behöver installera några av de icke-Python-biblioteken på ditt system (t.ex. libfreetype ) kan du överväga att använda homebrew .

Om du inte kan använda pip av någon anledning, försök sedan installera från källan .

Linux

Helst bör systempaketets manager eller pip användas för att installera matplotlib, antingen genom att installera python-matplotlib paketet eller genom att köra pip install matplotlib .

Om detta inte är möjligt (t.ex. har du inga sudo-behörigheter på den maskin du använder), kan du installera från källan med alternativet --user : python setup.py install --user . Vanligtvis kommer detta att installera matplotlib i ~/.local .

Debian / Ubuntu

sudo apt-get install python-matplotlib

Fedora / Red Hat

sudo yum install python-matplotlib

Felsökning

Se matplotlibs webbplats för råd om hur du fixar en trasig matplotlib.

Anpassa en matplotlib-tomt

import pylab as plt
import numpy as np

plt.style.use('ggplot')

fig = plt.figure(1)
ax = plt.gca()

# make some testing data
x = np.linspace( 0, np.pi, 1000 )
test_f = lambda x: np.sin(x)*3 + np.cos(2*x)

# plot the test data
ax.plot( x, test_f(x) , lw = 2)

# set the axis labels
ax.set_xlabel(r'$x$', fontsize=14, labelpad=10)
ax.set_ylabel(r'$f(x)$', fontsize=14, labelpad=25, rotation=0)

# set axis limits
ax.set_xlim(0,np.pi)

plt.draw()

ange bildbeskrivning här

# Customize the plot
ax.grid(1, ls='--', color='#777777', alpha=0.5, lw=1)
ax.tick_params(labelsize=12, length=0)
ax.set_axis_bgcolor('w')
# add a legend
leg = plt.legend( ['text'], loc=1 )
fr = leg.get_frame()
fr.set_facecolor('w')
fr.set_alpha(.7)
plt.draw()

ange bildbeskrivning här

Imperativt mot objektorienterad syntax

Matplotlib stöder både objektorienterad och imperativ syntax för plottning. Den nödvändiga syntaxen är avsiktligt utformad för att vara mycket nära Matlab-syntaxen.

Den nödvändiga syntaxen (ibland kallad "state-machine" -syntax) ger ut en sträng av kommandon som alla verkar på den senaste figuren eller axeln (som Matlab). Den objektorienterade syntaxen, å andra sidan, verkar uttryckligen på objekt (figur, axel, etc.) av intresse. En nyckelpunkt i zen för Python säger att uttryckligen är bättre än implicit så att den objektorienterade syntaxen är mer pythonisk. Emellertid är den nödvändiga syntaxen bekväm för nya konverterade från Matlab och för att skriva små "kastade" plottmanus. Nedan följer ett exempel på de två olika stilarna.

import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0, 2, 0.01)
y = np.sin(4 * np.pi * t)

# Imperative syntax
plt.figure(1)
plt.clf()
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude (V)')
plt.title('Sine Wave')
plt.grid(True)

# Object oriented syntax
fig = plt.figure(2)
fig.clf()
ax = fig.add_subplot(1,1,1)
ax.plot(t, y)
ax.set_xlabel('Time (s)')
ax.set_ylabel('Amplitude (V)')
ax.set_title('Sine Wave')
ax.grid(True)

Båda exemplen ger samma plot som visas nedan.

ange bildbeskrivning här

Två dimensionella (2D) matriser

Visa en tvådimensionell (2D) matris på axlarna.

import numpy as np
from matplotlib.pyplot import imshow, show, colorbar

image = np.random.rand(4,4)
imshow(image)
colorbar()
show()

Visa tvådimensionell (2D) matris med matplotlib



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow