日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 画图保存图片_将绘图保存到图像文件,而不是使用Matplotlib显示它

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 画图保存图片_将绘图保存到图像文件,而不是使用Matplotlib显示它 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回答(15)

2 years ago

我使用了以下內容:

import matplotlib.pyplot as plt

p1 = plt.plot(dates, temp, 'r-', label="Temperature (celsius)")

p2 = plt.plot(dates, psal, 'b-', label="Salinity (psu)")

plt.legend(loc='upper center', numpoints=1, bbox_to_anchor=(0.5, -0.05), ncol=2, fancybox=True, shadow=True)

plt.savefig('data.png')

plt.show()

f.close()

plt.close()

我發現在保存圖形后使用plt.show非常重要,否則它將無法工作 . figure exported in png

2 years ago

如果像我一樣使用Spyder IDE,則必須禁用交互模式:

plt.ioff()

(此命令隨科學啟動自動啟動)

如果要再次啟用它,請使用:

plt.ion()

2 years ago

#write the code for the plot

plt.savefig("filename.png")

該文件將保存在與運行的python / Jupyter文件相同的目錄中

2 years ago

import datetime

import numpy as np

from matplotlib.backends.backend_pdf import PdfPages

import matplotlib.pyplot as plt

# Create the PdfPages object to which we will save the pages:

# The with statement makes sure that the PdfPages object is closed properly at

# the end of the block, even if an Exception occurs.

with PdfPages('multipage_pdf.pdf') as pdf:

plt.figure(figsize=(3, 3))

plt.plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o')

plt.title('Page One')

pdf.savefig() # saves the current figure into a pdf page

plt.close()

plt.rc('text', usetex=True)

plt.figure(figsize=(8, 6))

x = np.arange(0, 5, 0.1)

plt.plot(x, np.sin(x), 'b-')

plt.title('Page Two')

pdf.savefig()

plt.close()

plt.rc('text', usetex=False)

fig = plt.figure(figsize=(4, 5))

plt.plot(x, x*x, 'ko')

plt.title('Page Three')

pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig

plt.close()

# We can also set the file's metadata via the PdfPages object:

d = pdf.infodict()

d['Title'] = 'Multipage PDF Example'

d['Author'] = u'Jouni K. Sepp\xe4nen'

d['Subject'] = 'How to create a multipage pdf file and set its metadata'

d['Keywords'] = 'PdfPages multipage keywords author title subject'

d['CreationDate'] = datetime.datetime(2009, 11, 13)

d['ModDate'] = datetime.datetime.today()

2 years ago

解決方案 :

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

matplotlib.style.use('ggplot')

ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))

ts = ts.cumsum()

plt.figure()

ts.plot()

plt.savefig("foo.png", bbox_inches='tight')

如果您確實要顯示圖像以及保存圖像,請使用:

%matplotlib inline

在 import matplotlib 之后

2 years ago

如果您不喜歡“當前”圖的概念,請執行以下操作:

import matplotlib.image as mpimg

img = mpimg.imread("src.png")

mpimg.imsave("out.png", img)

2 years ago

解決方案是:

pylab.savefig('foo.png')

2 years ago

正如其他人所說, plt.savefig() 或 fig1.savefig() 確實是保存圖像的方式 .

但是我發現在某些情況下(例如Spyder有 plt.ion() :交互模式= On),總會顯示數字 . 我通過強制關閉我的巨型循環中的數字窗口來解決這個問題,所以我在循環期間沒有一百萬個開放數字:

import matplotlib.pyplot as plt

fig, ax = plt.subplots( nrows=1, ncols=1 ) # create figure & 1 axis

ax.plot([0,1,2], [10,20,3])

fig.savefig('path/to/save/image/to.png') # save the figure to file

plt.close(fig) # close the figure

2 years ago

其他答案都是正確的 . 但是,我有時會發現我想稍后打開圖形對象 . 例如,我可能想要更改標簽大小,添加網格或進行其他處理 . 在一個完美的世界中,我只需重新運行生成繪圖的代碼,并調整設置 . 唉,世界并不完美 . 因此,除了保存為PDF或PNG之外,我還添加:

with open('some_file.pkl', "wb") as fp:

pickle.dump(fig, fp, protocol=4)

像這樣,我可以稍后加載圖形對象并操縱設置 .

我還為堆棧中的每個函數/方法寫出了包含源代碼和 locals() 字典的堆棧,以便稍后我可以準確地告訴生成該圖的內容 .

注意:要小心,因為有時這種方法會產生巨大的文件 .

2 years ago

有一點需要注意:如果您使用 plt.show 并且它應該在 plt.savefig 之后,或者您將給出一個空白圖像 .

一個詳細的例子:

import numpy as np

import matplotlib.pyplot as plt

def draw_result(lst_iter, lst_loss, lst_acc, title):

plt.plot(lst_iter, lst_loss, '-b', label='loss')

plt.plot(lst_iter, lst_acc, '-r', label='accuracy')

plt.xlabel("n iteration")

plt.legend(loc='upper left')

plt.title(title)

plt.savefig(title+".png") # should before plt.show method

plt.show()

def test_draw():

lst_iter = range(100)

lst_loss = [0.01 * i + 0.01 * i ** 2 for i in xrange(100)]

# lst_loss = np.random.randn(1, 100).reshape((100, ))

lst_acc = [0.01 * i - 0.01 * i ** 2 for i in xrange(100)]

# lst_acc = np.random.randn(1, 100).reshape((100, ))

draw_result(lst_iter, lst_loss, lst_acc, "sgd_method")

if __name__ == '__main__':

test_draw()

2 years ago

你可以這樣做:

plt.show(hold=False)

plt.savefig('name.pdf')

并且記得在關閉GUI圖之前讓savefig完成 . 這樣您就可以預先看到圖像 .

或者,您可以使用 plt.show() 查看它然后關閉GUI并再次運行腳本,但這次將 plt.show() 替換為 plt.savefig() .

或者,您可以使用

fig, ax = plt.figure(nrows=1, ncols=1)

plt.plot(...)

plt.show()

fig.savefig('out.pdf')

2 years ago

在使用plot()和其他函數創建所需內容之后,您可以使用這樣的子句在繪制到屏幕或文件之間進行選擇:

import matplotlib.pyplot as plt

fig = plt.figure(figuresize=4, 5)

# use plot(), etc. to create your plot.

# Pick one of the following lines to uncomment

# save_file = None

# save_file = os.path.join(your_directory, your_file_name)

if save_file:

plt.savefig(save_file)

plt.close(fig)

else:

plt.show()

2 years ago

他們說阻止數字彈出的最簡單方法是使用非交互式后端(例如Agg),通過 matplotib.use() ,例如:

import matplotlib

matplotlib.use('Agg')

import matplotlib.pyplot as plt

plt.plot([1,2,3])

plt.savefig('myfig')

我個人更喜歡使用 plt.close( fig ) ,從那以后你可以選擇隱藏某些數字(在循環期間),但仍然顯示循環后數據處理的數字 . 它可能比選擇非交互式后端要慢 - 如果有人測試過那么會很有趣 .

UPDATE :對于Spyder,你通常不能以這種方式設置后端(因為Spyder通常會提前加載matplotlib,阻止你使用 matplotlib.use() ) .

相反,使用 plt.switch_backend('Agg') ,或關閉Spyder首選項中的“啟用支持”并自行運行 matplotlib.use('Agg') 命令 .

從這兩個提示:one,two

2 years ago

雖然問題已得到解答,但我想在使用savefig時添加一些有用的提示 . 文件格式可以由擴展名指定:

savefig('foo.png')

savefig('foo.pdf')

將分別給出柵格化或矢量化輸出,兩者都可能有用 . 此外,你會發現 pylab 在圖像周圍留下了一個慷慨的,通常是不受歡迎的空白區域 . 刪除它:

savefig('foo.png', bbox_inches='tight')

2 years ago

import matplotlib.pyplot as plt

plt.savefig("image.png")

在Jupyter Notebook中,您必須刪除plt.show()并將plt.savefig()與其余的plt-code一起包含在一次單元格中 . 圖像仍將顯示在筆記本中 .

總結

以上是生活随笔為你收集整理的java 画图保存图片_将绘图保存到图像文件,而不是使用Matplotlib显示它的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.香蕉网| 国产91精选 | 国产乱色精品成人免费视频 | 久久久久久中文 | 亚洲免费国产视频 | 亚洲AV无码成人国产精品色 | 七月婷婷综合 | 欧美精产国品一二三 | 欧美性猛交aaaa片黑人 | 久久久69 | 无码视频在线观看 | 日本热久久 | 精品欧美一区二区精品久久 | 国产乱偷 | 无码国产精品高潮久久99 | 色哟哟国产精品色哟哟 | 成人精品一区二区三区在线 | 欧美性生活网 | 一级久久久久久久 | 国产乱人伦精品一区二区 | 免费av在线网站 | 亚洲av无码不卡一区二区三区 | 99激情网| 国产鲁鲁视频在线观看特色 | 亚洲乱轮视频 | 欧美日韩卡一卡二 | 日韩中文字幕综合 | 国产一区二区三区电影在线观看 | 中文字幕一区二区人妻电影 | 夜色快播 | 一级黄色短视频 | 亚洲少妇一区 | www黄色 | www日韩av| 国产6区 | 国产成人午夜精华液 | 性生活视频播放 | 色撸撸av | 丁香八月婷婷 | 天天狠天天透 | 日韩欧美自拍偷拍 | 91色偷偷| 疯狂撞击丝袜人妻 | 最新av在线播放 | 久久久成人精品一区二区三区 | 欧美一区二区在线 | 成人午夜精品一区二区 | 岛国av一区二区三区 | 双性人做受视频 | 毛片视频免费 | 激情久久一区 | 久久精品一区 | 色婷婷亚洲 | 国模精品视频 | 亚洲一区免费视频 | 日韩av在线免费播放 | 日本久热 | 中文字幕观看视频 | av二区在线 | 美女福利视频导航 | 色噜噜日韩精品欧美一区二区 | 超级砰砰砰97免费观看最新一期 | 国产成人在线视频观看 | 国产人妖ts | 永久免费汤不热视频 | 极品久久久久 | 国产对白视频 | 在线观看国产精品一区 | 久久伊人精品视频 | julia一区 | 8090理论片午夜理伦片 | 欧美粗又大 | 国模无码视频一区二区三区 | 羞羞影院体验区 | 亚洲是色 | 国产高清视频在线 | 影音先锋在线视频 | 欧美在线一区视频 | 国产凹凸一区二二区 | 美女a视频 | 殴美一级特黄aaaaaa | 在线免费小电影 | 日本一区二区在线看 | 我要爱爱网 | 超碰丝袜| 日韩欧美一区二区三区 | h视频网站在线观看 | 午夜影院免费观看 | 一区二区三区播放 | 91网址在线| 狠狠干网站 | 性猛交富婆╳xxx乱大交天津 | 欧美视频在线免费看 | 123超碰| 91精品国产一区二区三区蜜臀 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 综合网亚洲 | 人妻一区在线 | 大黄网站在线观看 |