python画三维函数图_三维Python谱图(类似matlab的谱图函数)

我的问题是:

我有谱图(scipy.fftpack.fft)所需的所有值。我想用python创建一个3D谱图。在

在MATLAB中,这是一个非常简单的任务,而在python中则显得复杂得多。我试过mayavi,3D打印matplotlib,但我没能做到。在

谢谢

我的代码:import numpy as np

import pandas as pd

import numpy as np

from scipy import signal

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.collections import PolyCollection

fs = 11240.

t = 10

time = np.arange(fs*t) / fs

frequency = 1000.

mysignal = np.sin(2.0 * np.pi * frequency * time)

nperseg = 2**14

noverlap = 2**13

f, t, Sxx = signal.spectrogram(mysignal, fs, nperseg=nperseg,noverlap=noverlap)

myfilter = (f>800) & (f<1200)

fig,ax = plt.subplots()

plt.pcolormesh(t, f[myfilter], 10*np.log10(Sxx[myfilter, :]), cmap='jet')

plt.show()

fig = plt.figure()

ax = fig.gca(projection='3d')

x = []

y = []

for counter,i in enumerate(f):

x.append(np.array([i for k in t]))

y.append(t)

ax.plot_surface(np.array(x), np.array(y), 10.0*np.log10(Sxx), cmap=cm.coolwarm)

plt.show()

aBEPd.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值