[英](Matplotlib, python) long subplots, scrolling
我想創建一個 pdf 文件 [通過使用 plt.savefig("~~~.pdf")] 包含許多(大約 20 個)子圖,每個子圖都在繪制時間序列數據。 我正在使用帶有 python 語言的 matplotlib 庫。
每個子圖可能很長,我想水平放置子圖。 因此,圖形應該很長(橫向),因此應該需要水平滾動條!
有沒有辦法做到這一點? 一些示例代碼將不勝感激!
以下是我的示例代碼。 我只想繪制水平排列的 10 個正弦圖並將其保存為 pdf 文件。 (但我不太擅長這個。所以代碼對你來說可能看起來很奇怪.. :()
from matplotlib import pyplot as plt
import numpy as np
x=np.linspace(0,100,1000)
y=np.sin(x)
numplots=10
nr=1
nc=numplots
size_x=nc*50
size_y=size_x*3/4
fig=plt.figure(1,figsize=(size_x,size_y))
for i in range(nc):
ctr=i+1
ax=fig.add_subplot(nr,nc,ctr)
ax.plot(x,y)
plt.savefig("longplot.pdf")
plt.clf()
謝謝!
您應該使用后端“matplotlib.backends.backend_pdf”來做到這一點。 這使您能夠以 pdf 格式保存 matplotlib 圖形。 我已經簡化了你的代碼,這是一個工作示例:
from matplotlib import pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
x = np.linspace(0,100,1000)
y = np.sin(x)
nr = 10
nc = 1
for i in range(nr):
plt.subplot(nr, nc, i + 1)
plt.plot(x, y)
pdf = PdfPages('longplot.pdf')
pdf.savefig()
pdf.close()
我希望這有幫助。
在下面的鏈接中有一個解決方案,可以幫助您,因為它對我也有幫助。 Matplotlib 上的滾動條顯示頁面
但是如果你有很多次要情節,恐怕你的問題不會得到解決。 因為無論如何它都會縮小每個圖形。 在這種情況下,最好將您的圖形分解成更小的獨立部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.