Matplotlib Pyplot在某些值之后的偏移量

t30tvxxf  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(92)
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.animation import PillowWriter
from scipy.ndimage import gaussian_filter1d
import keyboard
pi = "1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275900994657640789512694683983525957098258226205224894077267194782684826014769909026401363944374553050682034962"

def func(b):
        return np.sin(int(pi[b:b+2]))

a = 2104
x = []
y = []
g = 50
off = 50
ofx = 10
timer = 1.0

def gg():
        if len(y) > g:
                return len(y)-g
        if len(y) <= g:
                return 0

def goff():
        if len(y) > g+off:
                return off
        if len(y) <= g+off:
                return 0

q=False

for xval in np.linspace(0,g+off,g+off+1):
        x.append(xval)
        y.append(func(int(xval)))

for xval in np.linspace(g+off+1,a,a+1-g+off):
        if q == False:
                x.append(xval)
                y.append(func(int(xval)))

                if keyboard.is_pressed('q'):
                        q = True
                if keyboard.is_pressed('a'):
                        timer = 0.001
                if keyboard.is_pressed('z'):
                        timer = 1.0
                
                
                plt.figure(1)
                plt.subplot(111)
                plt.cla()
                plt.xlim(gg()-goff() , len(y)-goff()-1)
                plt.ylim(-1,1)
                plt.grid(True)
                
                ux =                         x[ gg()-goff() : len(y)+1-goff() ]
                uy = gaussian_filter1d(      y        , sigma=(len(y)/100)+2)[ gg()-goff() : len(y)+1-goff() ]
                
                plt.plot(ux,uy)
                sth = int(round((len(y)/10)))
                plt.text(len(y)-ofx-goff(), 0, f"{len(y)} {len(    y[ gg()-goff() : len(y)+1-goff() ]    )} {    len(y[:len(y)-goff()+1])    }")
                #plt.subplots_adjust(top=1.0, bottom=0.0, left=0.0, right=1.0)
                plt.ticklabel_format(useOffset=False)
                plt.pause(timer)
                
plt.show

字符串
这是我的密码当我启动它并等待一段时间后,图形会以某种方式偏移
我刚开始为这个库学习python,不知道出了什么问题,甚至我父亲也帮不上忙(有时当我向他寻求帮助时,答案会在我脑海中弹出)
我以后会改变圆周率的!!!*
我试着改变值,在互联网上搜索了一些,但我的智商太低,无法修复此image here

gywdnpxw

gywdnpxw1#

plt.xlim(...)线更改为plt.xlim(min(ux), max(ux))将强制x轴限值与ux信号的边界相匹配。
另外,将plt.text(len(y)-ofx-goff(), ...更改为plt.text(max(ux), ...以防止文本标签向右移动。

相关问题