【问题标题】:How can I plot only particular values in xarray?如何在 xarray 中仅绘制特定值?
【发布时间】:2023-02-08 01:33:34
【问题描述】:

我正在使用来自 cdasws 的数据来绘制动态光谱。我正在按照此处找到的示例https://cdaweb.gsfc.nasa.gov/WebServices/REST/jupyter/CdasWsExample.html

这是我修改过的代码以获得 STEREO 的动态频谱。

from cdasws import CdasWs
from cdasws.datarepresentation import DataRepresentation
import matplotlib.pyplot as plt
cdas = CdasWs()
import numpy as np

datasets = cdas.get_datasets(observatoryGroup='STEREO')

for index, dataset in enumerate(datasets):
    print(dataset['Id'], dataset['Label'])

variables = cdas.get_variables('STEREO_LEVEL2_SWAVES')
for variable_1 in variables:
    print(variable_1['Name'], variable_1['LongDescription'])

data = cdas.get_data('STEREO_LEVEL2_SWAVES', ['avg_intens_ahead'],
                     '2020-07-11T02:00:00Z', '2020-07-11T03:00:00Z',
                     dataRepresentation = DataRepresentation.XARRAY)[1]
print(data)

plt.figure(figsize = (15,7))
# plt.ylim(100,1000)
plt.xticks(fontsize=18)
plt.yticks(fontsize=18)
plt.yscale('log')
sorted_data.transpose().plot()
plt.xlabel("Time",size=18)
plt.ylabel("Frequency (kHz)",size=18)
plt.show()

使用这段代码给出了一个看起来像这样的情节,

我的问题是,是否只针对特定频率绘制此频谱?例如,我只想绘制 636 kHz 的强度值,有什么办法可以做到吗?

非常感谢任何帮助,我不了解 xarray,我以前从未使用过它。

编辑 -

使用命令,

data_stereo.avg_intens_ahead.loc[:,625].plot()

生成一个看起来像 的图

虽然这很有用,但我需要的是;

对于动态频谱,如果我选择一个特定的频率,比如 600khz,它能显示这样的东西吗(我刚刚添加了白框来阐明我的意思)-

【问题讨论】:

  • 您可以使用data.sel(frequency=636) 按标签选择数据。请参阅Indexing and selecting data 上的文档。一旦你只有你想要的数据,你就可以用.plot来绘制它。
  • @MichaelDelgado 感谢您的帮助!这是我使用的,data_stereo.avg_intens_ahead.loc[:,625].plot(),它生成了一个图。我正在编辑我的原始帖子以显示我得到的情节,但这不是我需要的。我正在编辑我的原始帖子以澄清我的疑问

标签: python python-xarray


【解决方案1】:

如果您仍然希望绘图是二维的,但要包含沿其中一个维度的数据子集,您可以提供一个索引数组或一个切片对象。例如:

data_stereo.avg_intens_ahead.sel(
    frequency=[625]
).plot()

或者

# include a 10% band on either side
data_stereo.avg_intens_ahead.sel(
    frequency=slice(625*0.9, 625*1.1)
).plot()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    相关资源
    最近更新 更多