小编Soy*_*yol的帖子

MATLAB:避免质量差的 matlab 视频

我创建了我的情节系列的视频,如下所示:

clc;
clear;
close all;
r0=1;
theta=0:0.01:2*pi;
a=0.2;
psi=0;
writerObj = VideoWriter('shapes.mp4'); % Name it.
writerObj.FrameRate = 1; % How many frames per second.
open(writerObj); 
for k=1:3
    pause(1);

    r=r0+a*sin(k*theta+psi)+a*sin((k+1)*theta+psi)+a*sin((k+2)*theta+psi)+a*sin((k+3)*theta+0.8*pi);
    figure();
    x=r.*cos(theta);
    y=r.*sin(theta);
    plot(x,y);
    axis([-2 2 -2 2]);
%     axis equal
    grid on

    %%%%%%%%% Finding Area %%%%%%%%%%%%%
    A = polyarea(x,y);
    title({'line1',['Area = ' num2str(A)]})
%     title(['Area = ' num2str(A)]);

    set(gcf,'renderer','zbuffer');
    view(2)
    frame = getframe(gcf);
    writeVideo(writerObj, frame);


    close all
end
close(writerObj); % Saves the movie.
Run Code Online (Sandbox Code Playgroud)

但是当你观看视频时,它的质量很差(我的意思是质量差,例如以 jpeg 格式导出 matlab 图时的质量)。

对于 matlab …

video matlab plot animation

5
推荐指数
0
解决办法
3070
查看次数

如何在 Jupyer 笔记本中绘图后抑制文本输出

当你想使用 python 更新绘图参数时mpl.rcParams.update(params),它会打印一个数组来表示你拥有的绘图数量,比如说,如果你使用 hist 作为 12 个参数,你会得到一个 12 行的数组,如下所示

array([[<matplotlib.axes._subplots.AxesSubplot object at 0x1a1d27fc50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1d6292e8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1d63b6d8>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a1e922c50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1e955208>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1e97c780>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a1e9a3cf8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1e9d52e8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1e9d5320>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a1ea25da0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1ea55358>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1a1ea7d8d0>]],
      dtype=object)
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免/禁止在 jupyter 笔记本中打印它。

示例代码:

params = {'axes.titlesize':'60', 'xtick.labelsize':'24', 'ytick.labelsize':'24'} 
mpl.rcParams.update(params);
data.hist(figsize=(50, 30), bins=10)
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter-notebook

5
推荐指数
1
解决办法
2616
查看次数

尽管是分开的,但是当更换另一个时,numpy数组会意外地发生变化

我在我的大型代码中发现了一个错误,我将问题简化为下面的案例.

虽然在每个步骤中我只会改变w2,但是当我在每个步骤打印出来时w1,它也会被改变,因为第一个循环的结束我指定它们是相等的.我读到了这个,但有写的以防万一我w1 = w2[:]会解决问题,但事实并非如此

import numpy as np
import math

w1=np.array([[1,2,3],[4,5,6],[7,8,9]])
w2=np.zeros_like(w1)
print 'w1=',w1
for n in range(0,3):
    for i in range(0,3):
        for j in range(0,3):
            print 'n=',n,'i=',i,'j=',j,'w1=',w1
            w2[i,j]=w1[i,j]*2

    w1=w2[:]


#Simple tests
# w=w2[:]
# w1=w[:]

# p=[1,2,3]
# q=p[:];
# q[1]=0;
# print p
Run Code Online (Sandbox Code Playgroud)

python numpy matrix

4
推荐指数
1
解决办法
3262
查看次数

Python:绘制 3D 曲面时出现 AttributeError

我试图通过 x,y 坐标和 w1 值来绘制 3d 表面。我已经通过 shape() 检查了尺寸,它们匹配。但我收到错误“AttributeError:'module'对象没有属性'plot_surface'”

代码:

import numpy as np
import math
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
Run Code Online (Sandbox Code Playgroud)

。。。

x = np.arange(xmin, xmax+dx, dx)
z = np.arange(zmin, zmax+dz, dz)
X, Z = np.meshgrid(x, z)
#print X.shape, Z.shape, w1.shape
plt.plot_surface(X, Z, w1)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib surface

3
推荐指数
1
解决办法
1万
查看次数

Pandas - drop_duplicates具有多个条件

我有一个数据集,我想根据某些条件删除重复项.

例如,假设我有一张桌子

ID  date    group
3001    2010    DCM
3001    2012    NII
3001    2012    DCM
Run Code Online (Sandbox Code Playgroud)

我想说看ID列中的相似ID,如果两个日期相似,则保持该组为NII的行

所以它会成为

ID  date    group
3001    2010    DCM
3001    2012    NII
Run Code Online (Sandbox Code Playgroud)

python duplicates dataframe pandas

2
推荐指数
2
解决办法
2374
查看次数

具有评分函数和改装参数的 GridSearchCV

我的问题似乎与类似,但没有可靠的答案。

我正在进行多类多标签分类,为此我定义了自己的评分器。然而,为了refit最终获得参数并获得模型的最佳参数,我们需要引入评分器函数之一进行改装。如果我这样做,我会收到错误消息missing 1 required positional argument: 'y_pred'。y_pred 应该是拟合的结果。但不确定这个问题从何而来以及如何解决。

下面是代码:

scoring = {'roc_auc_score':make_scorer(roc_auc_score),
          'precision_score':make_scorer(precision_score, average='samples'),
          'recall_score':make_scorer(recall_score, average='samples')}

params = {'estimator__n_estimators': [500,800],
          'estimator__max_depth': [10,50],}

model = xgb.XGBClassifier(n_jobs=4)
model = MultiOutputClassifier(model)

cls = GridSearchCV(model, params, cv=3, refit=make_scorer(roc_auc_score), scoring = scoring, verbose=3, n_jobs= -1)

model = cls.fit(x_train_ups, y_train_ups)
print(model.best_params_)
Run Code Online (Sandbox Code Playgroud)

python scikit-learn xgboost gridsearchcv

1
推荐指数
1
解决办法
2463
查看次数

[MATLAB]:兰特的含义(1:3)

我在MATLAB上编写代码,错误地写了这句话:

x = rand(1:3)
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:在此输入图像描述

有人可以向我解释这里发生了什么吗?它是3D矩阵吗?或者是其他东西?

random matlab multidimensional-array output

-8
推荐指数
1
解决办法
111
查看次数