国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python – Matplotlib只保存沒有空格的文本

所以在python中我有以下代碼,取自this answer

import matplotlib.pyplot as plt                                                 import sympy                                                                    x = sympy.symbols('x')                               y = 1   sympy.sin(sympy.sqrt(x**2   20))                                         lat = sympy.latex(y)                                                            #add text                                 plt.text(0, 0.6, r"$%s$" % lat, fontsize = 50)                                  #hide axes                                                                      fig = plt.gca()                                                                 fig.axes.get_xaxis().set_visible(False)                                         fig.axes.get_yaxis().set_visible(False)                                         plt.savefig('out.png', bbox_inches='tight', pad_inches=0)                                                        plt.show()

這將打開文本并將其導(dǎo)出到png文件中:

但這包括超出框架外的空白的空白.您將如何裁剪圖像以僅導(dǎo)出文本,如邊界框,如此?

解決方法:

以下不是一個完美的解決方案,但它希望能給你一些關(guān)于如何進步的想法:

import matplotlib.pyplot as pltimport sympyx = sympy.symbols('x')y = 1   sympy.sin(sympy.sqrt(x**2   2))lat = sympy.latex(y)fig = plt.figure()renderer = fig.canvas.get_renderer()t = plt.text(0.001, 0.001, r"$%s$" % lat, fontsize = 50)wext = t.get_window_extent(renderer=renderer)fig.set_size_inches(wext.width / 65, wext.height / 40, forward=True)fig.patch.set_facecolor('white')plt.axis('off')plt.tight_layout()plt.savefig('out.png', bbox_inches='tight', pad_inches=0)plt.show()

您可以通過使用當(dāng)前渲染器獲取窗口范圍來確定文本大小.然后還可以手動指定圖形尺寸.我雖然不確定正確的方法來轉(zhuǎn)換兩者之間.請注意,我為圖像添加了邊框,以便您可以看到剩余填充量:

作為解決此問題的可能方法,以下方法僅使用Python的PIL庫在保存之前自動裁剪圖像:

import iofrom PIL import Image, ImageOpsimport matplotlib.pyplot as pltimport sympyx = sympy.symbols('x')y = 5 /sympy.sqrt(1   sympy.sin(sympy.sqrt(x**2   2))) lat = sympy.latex(y)fig = plt.figure()t = plt.text(0.001, 0.001, r"$%s$" % lat, fontsize = 50)fig.patch.set_facecolor('white')plt.axis('off')plt.tight_layout()with io.BytesIO() as png_buf:    plt.savefig(png_buf, bbox_inches='tight', pad_inches=0)    png_buf.seek(0)    image = Image.open(png_buf)    image.load()    inverted_image = ImageOps.invert(image.convert("RGB"))    cropped = image.crop(inverted_image.getbbox())    cropped.save('out.png')
來源:https://www.icode9.com/content-1-260551.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python中的figure什么意思
Python求解江蘇小升初數(shù)學(xué)題與圖像陰影繪制
高等數(shù)學(xué)被Python輕松化解?數(shù)學(xué):我這么不要面子嗎?
python 快速畫圖 matplotlib, sympy, mpmath與 Matlab 比較
如何用Python繪制炫酷的立體地形圖
matplotlib刪除地圖投影上的等值線及風(fēng)場
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服