figure; a = bar(PSDMat.','stacked'); for k =1:PLT_Num a(k).FaceColor = CLV(k,:); end set(gca,'xticklabel',XtickLBL); legend(LegendStrVec); xlabel('Time'); ylabel('PSD/(Watts/kHz)'); EndABC = char(65+numel(fil_all)); xlswrite('PSD.xls',XtickLBL,['B1:' EndABC '1']); xlswrite('PSD.xls',LegendStrVec',['A2:A' num2str(PLT_Num+1)]); xlswrite('PSD.xls',PSDMat,['B2:' EndABC num2str(PLT_Num+1)]);
时间: 2023-09-11 14:08:48 浏览: 75
这段代码用于绘制柱状堆叠图,并将图表保存为Excel文件。
首先,使用`figure`函数创建一个新的图形窗口。
然后,使用`bar(PSDMat.','stacked')`绘制柱状堆叠图,其中`PSDMat.'`表示将`PSDMat`进行转置,使得每一列对应一个频率段。
接下来,使用循环`for k =1:PLT_Num`遍历每个频率段,并将对应的柱子的颜色设置为`CLV(k,:)`,即根据之前定义的颜色向量。
然后,使用`set(gca,'xticklabel',XtickLBL)`设置x轴刻度标签为变量`XtickLBL`中的值。
使用`legend(LegendStrVec)`添加图例,并将图例标签设置为变量`LegendStrVec`中的值。
使用`xlabel('Time')`设置x轴标签为"Time"。
使用`ylabel('PSD/(Watts/kHz)')`设置y轴标签为"PSD/(Watts/kHz)"。
接下来,生成一个字符矩阵`EndABC`,其值为大写字母'A'加上文件名数量的数值。
然后,使用`xlswrite`函数将x轴刻度标签存储到名为"PSD.xls"的Excel文件中,存储范围为'B1'到'EndABC1'。
接着,使用`xlswrite`函数将图例标签存储到"PSD.xls"文件中,存储范围为'A2'到'A(PLT_Num+1)'。
最后,使用`xlswrite`函数将数据矩阵`PSDMat`存储到"PSD.xls"文件中,存储范围为'B2'到'EndABC(PLT_Num+1)'。
相关问题
这串代码结果显示Bar不是有效的plot kind,要如何改进。import pandas as pd data = pd.read_excel('titanic.xls') print(data.sex.unique()) data.loc[data['sex']=='male','sex']=0 data.loc[data['sex']=='female','sex']=1 survive_0 = data['survived'][data['sex']==0].value_counts() survive_1 = data['survived'][data['sex']==1].value_counts() data1 =pd.DataFrame({'获救': survive_1,'未获救': survive_0}) data1.plot(kind='Bar',stacked=True) plt.title('不同性别的获救比例')
把 `Bar` 改为 `bar` 即可,这个错误是因为大小写不匹配导致的。修改后的代码如下:
```
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('titanic.xls')
print(data.sex.unique())
data.loc[data['sex']=='male','sex']=0
data.loc[data['sex']=='female','sex']=1
survive_0 = data['survived'][data['sex']==0].value_counts()
survive_1 = data['survived'][data['sex']==1].value_counts()
data1 = pd.DataFrame({'获救': survive_1,'未获救': survive_0})
data1.plot(kind='bar', stacked=True)
plt.title('不同性别的获救比例')
plt.show()
```
注意最后需要加上 `plt.show()` 才能显示图像。
class DownConv(nn.Module): def __init__(self, seq_len=200, hidden_size=64, m_segments=4,k1=10,channel_reduction=16): super().__init__() """ DownConv is implemented by stacked strided convolution layers and more details can be found below. When the parameters k_1 and k_2 are determined, we can soon get m in Eq.2 of the paper. However, we are more concerned with the size of the parameter m, so we searched for a combination of parameter m and parameter k_1 (parameter k_2 can be easily calculated in this process) to find the optimal segment numbers. Args: input_tensor (torch.Tensor): the input of the attention layer Returns: output_conv (torch.Tensor): the convolutional outputs in Eq.2 of the paper """ self.m =m_segments self.k1 = k1 self.channel_reduction = channel_reduction # avoid over-parameterization middle_segment_length = seq_len/k1 k2=math.ceil(middle_segment_length/m_segments) padding = math.ceil((k2*self.m-middle_segment_length)/2.0) # pad the second convolutional layer appropriately self.conv1a = nn.Conv1d(in_channels=hidden_size, out_channels=hidden_size // self.channel_reduction, kernel_size=self.k1, stride=self.k1) self.relu1a = nn.ReLU(inplace=True) self.conv2a = nn.Conv1d(in_channels=hidden_size // self.channel_reduction, out_channels=hidden_size, kernel_size=k2, stride=k2, padding = padding) def forward(self, input_tensor): input_tensor = input_tensor.permute(0, 2, 1) x1a = self.relu1a(self.conv1a(input_tensor)) x2a = self.conv2a(x1a) if x2a.size(2) != self.m: print('size_erroe, x2a.size_{} do not equals to m_segments_{}'.format(x2a.size(2),self.m)) output_conv = x2a.permute(0, 2, 1) return output_conv
这是一个用于实现降采样卷积(DownConv)的PyTorch模型类。在构造函数中,需要指定一些参数,包括序列长度seq_len,隐藏层大小hidden_size,中间段数m_segments,卷积核大小k1和通道缩减channel_reduction。其中,降采样卷积层的实现使用了两个卷积层,第一个卷积层的卷积核大小为k1,步长为k1,将输入张量进行降采样;第二个卷积层的卷积核大小为k2,步长为k2,将第一个卷积层的输出进行进一步的降采样,并按照论文中的公式计算得到输出张量。为了使得第二个卷积层的输出张量大小与中间段数m_segments相等,需要在卷积层中进行适当的padding。在前向传播时,需要将输入张量进行维度变换,使得其可以被卷积层处理,然后将卷积层的输出张量再次进行维度变换,使得其可以作为下一层的输入。如果第二个卷积层的输出张量大小不等于中间段数m_segments,则会输出一条错误信息。
阅读全文