kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
Homunculus Reticulli
Homunculus Reticulli
Question

Spara plot till en bildfil istället för att visa den med Matplotlib

Jag skriver ett snabbt och smutsigt skript för att generera diagram i farten. Jag använder koden nedan (från Matplotlib dokumentation) som utgångspunkt:

from pylab import figure, axes, pie, title, show

# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]

explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})

show()  # Actually, don't show, just save to foo.png

Jag vill inte visa plotten på ett grafiskt gränssnitt, istället vill jag spara plotten till en fil (säg foo.png), så att den till exempel kan användas i batch-skript. Hur gör jag det?

1049 2012-03-08T17:38:10+00:00 3
Aurgho Bhattacharjee
Aurgho Bhattacharjee
Redigerad fråga 2018ör juli 2018 в 10:25
Programmering
python
plot
matplotlib
Popular videos
Writing 2D Games in C using SDL by Thomas Lively
Writing 2D Games in C using SDL by Thomas Lively
för 6 år sedan
Watch this if you want to LEARN MATPLOTLIB for PYTHON!
Watch this if you want to LEARN MATPLOTLIB for PYTHON!
för 4 år sedan
How to Install Matplotlib on Any Version of Python Easy (Windows)
How to Install Matplotlib on Any Version of Python Easy (Windows)
för 6 år sedan
Matplotlib Tutorial (Part 1): Creating and Customizing Our First Plots
Matplotlib Tutorial (Part 1): Creating and Customizing Our First Plots
för 3 år sedan
Matplotlib Tutorial 7 - Save Chart To a File Using savefig
Matplotlib Tutorial 7 - Save Chart To a File Using savefig
för 5 år sedan
Windows 10 Architecture: Unlock troubleshooting secrets
Windows 10 Architecture: Unlock troubleshooting secrets
för 3 år sedan
Bar Graph | Bar Chart | Matplotlib | Python Tutorials
Bar Graph | Bar Chart | Matplotlib | Python Tutorials
för 2 år sedan
How to: Plot a Function in Python
How to: Plot a Function in Python
för 2 år sedan
Introduction to Line Plot Graphs with Matplotlib
Introduction to Line Plot Graphs with Matplotlib
för 3 år sedan
Matplotlib Tutorial 9 | Saving plots
Matplotlib Tutorial 9 | Saving plots
för 4 år sedan
How to save a figure / Chart / Plot in Jupyter Notebook |  Python Matplotlib Tutorial for savefig()
How to save a figure / Chart / Plot in Jupyter Notebook | Python Matplotlib Tutorial for savefig()
för 3 år sedan
Matplotlib Tutorial (Part 7): Scatter Plots
Matplotlib Tutorial (Part 7): Scatter Plots
för 3 år sedan
Introduction to Scatter Plots with matplotlib for Python Data Science
Introduction to Scatter Plots with matplotlib for Python Data Science
för 3 år sedan
Plots in Python with Numpy and Matplotlib
Plots in Python with Numpy and Matplotlib
för 7 år sedan
How to Plot a Line in Python - Matplotlib
How to Plot a Line in Python - Matplotlib
för 1 år sedan
Scatter Plot | Scatter Plot Matplotlib | Scatter Plot in Python
Scatter Plot | Scatter Plot Matplotlib | Scatter Plot in Python
för 4 år sedan
Types of Plot | Line Plot | Matplotlib | Python Tutorials
Types of Plot | Line Plot | Matplotlib | Python Tutorials
för 2 år sedan
Matplotlib: Bar Plot
Matplotlib: Bar Plot
för 2 år sedan
För alla som vill utveckla sin svenska.
För alla som vill utveckla sin svenska.
för 1 år sedan
Intro to Plotting with Python
Intro to Plotting with Python
för 4 år sedan
« Föregående
Nästa »
Den här frågan har 1 svar på engelska, för att läsa dem logga in på ditt konto.
Solution / Answer
 Hooked
Hooked
2012ör mars 2012 в 1:35
2012-03-27T13:35:44+00:00
Mer
Källa
Redigera
#15630471

Även om frågan har besvarats vill jag lägga till några användbara tips när du använder matplotlib.pyplot.savefig. Filformatet kan specificeras med hjälp av tillägget:

from matplotlib import pyplot as plt

plt.savefig('foo.png')
plt.savefig('foo.pdf')

Ger en rasteriserad respektive vektoriserad utskrift, båda kan vara användbara. Dessutom kommer du att märka att pylab lämnar ett generöst, ofta oönskat, vitrymderum runt bilden. Ta bort det med:

savefig('foo.png', bbox_inches='tight')
 user1717828
user1717828
Redigerat svar 2019ör mars 2019 в 5:12
1291
0
Lukasz Czerwinski
Lukasz Czerwinski
2012ör mars 2012 в 11:36
2012-03-27T11:36:31+00:00
Mer
Källa
Redigera
#15630470

Lösningen är:

pylab.savefig('foo.png')
Peter Mortensen
Peter Mortensen
Redigerat svar 2014ör oktober 2014 в 7:37
156
0
 wonder.mice
wonder.mice
2014ör januari 2014 в 6:30
2014-01-30T18:30:37+00:00
Mer
Källa
Redigera
#15630472

Om du inte gillar konceptet med den nuvarande siffran, gör det:

import matplotlib.image as mpimg

img = mpimg.imread("src.png")
mpimg.imsave("out.png", img)
Peter Mortensen
Peter Mortensen
Redigerat svar 2014ör oktober 2014 в 7:38
43
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
Daniel Gogov
Registrerad för 6 dagar sedan
2
工藤 芳則
Registrerad för 1 vecka sedan
3
Ирина Беляева
Registrerad för 2 veckor sedan
4
Darya Arsenyeva
Registrerad för 2 veckor sedan
5
anyta nuam-nuam (LapuSiK)
Registrerad för 2 veckor sedan
BG
DE
EL
ES
FI
FR
ID
IT
JA
LV
NL
NO
PL
PT
RO
RU
SK
SV
TR
ZH
© kzen.dev 2023
Källa
stackoverflow.com
under licens cc by-sa 3.0 med angivande av