小编Tom*_*gal的帖子

如何在GitLab中创建版本?

我创建了一个私有存储库,然后我将其更改为公共存储库.但是,我找不到任何释放方式.是否可以在GitLab中创建版本?如果是这样,他们是如何完成的?

git gitlab

51
推荐指数
5
解决办法
6万
查看次数

如何在Python中应用分段线性拟合?

我试图将分段线性拟合拟合为数据集,如图1所示

在此输入图像描述

这个数字是通过设置线条获得的.我试图使用代码应用分段线性拟合:

from scipy import optimize
import matplotlib.pyplot as plt
import numpy as np


x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,11, 12, 13, 14, 15])
y = np.array([5, 7, 9, 11, 13, 15, 28.92, 42.81, 56.7, 70.59, 84.47, 98.36, 112.25, 126.14, 140.03])


def linear_fit(x, a, b):
    return a * x + b
fit_a, fit_b = optimize.curve_fit(linear_fit, x[0:5], y[0:5])[0]
y_fit = fit_a * x[0:7] + fit_b
fit_a, fit_b = optimize.curve_fit(linear_fit, x[6:14], y[6:14])[0]
y_fit = np.append(y_fit, …
Run Code Online (Sandbox Code Playgroud)

python numpy curve-fitting scipy piecewise

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

是否有可能在matplotlib中获得曲线下的颜色渐变?

我偶然在这个页面上看到了一个漂亮的图表,如下所示:

在此输入图像描述

是否有可能在matplotlib中获得这样的颜色渐变?

python matplotlib

22
推荐指数
3
解决办法
7608
查看次数

如何在Python中将列或行矩阵转换为对角矩阵?

我有一个行向量A,A = [a1 a2 a3 ..... an]我想创建一个对角矩阵,B = diag(a1,a2,a3,.....,an)这行矢量的元素.如何在Python中完成?

UPDATE

这是用来说明问题的代码:

import numpy as np
a = np.matrix([1,2,3,4])
d = np.diag(a)
print (d)
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是[1],但我想要的输出是:

[[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]
Run Code Online (Sandbox Code Playgroud)

python numpy matrix scipy

19
推荐指数
2
解决办法
4万
查看次数

如何在matplotlib绘图循环中为标记和线设置相同的颜色?

我必须通过创建一个循环来绘制matplotlib的多行和标记,并且我已经在matplolibrc param文件中设置了轴颜色循环.在循环的每个循环中,创建一组标记和线(由单独的命令创建线).但是标记和线条颜色根据轴颜色循环而不同.我希望每次循环运行时,标记和线条与该循环的颜色相同.

我已经包含了可重现的代码:

import numpy as np
import itertools
import matplotlib.pyplot as plt
m = 5
n = 5
x = np.zeros(shape=(m, n))
plt.figure(figsize=(5.15, 5.15))
plt.clf()
plt.subplot(111)
marker = itertools.cycle(('o', 'v', '^', '<', '>', 's', '8', 'p'))
for i in range(1, n):
    x = np.dot(i, [1, 1.1, 1.2, 1.3])
    y = x ** 2
    plt.plot(x, y, linestyle='', markeredgecolor='none', marker=marker.next())
    plt.plot(x, y, linestyle='-')
plt.ylabel(r'\textit{y}', labelpad=6)
plt.xlabel(r'\textit{x}', labelpad=6)
plt.show()
Run Code Online (Sandbox Code Playgroud)

使用此代码我得到的输出是:

在此输入图像描述

我需要在它们的范围内绘制的标记和线具有相同的颜色.如何在matplotlib中完成?

python matplotlib

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

如何在Python中将xaxis网格放在频谱图上?

我有下面的图,它提供压力信号的频谱图以及放在其上的信号用于比较.我能够在频谱图上绘制y轴网格,但无法在其上放置x轴网格.

在此输入图像描述

用于生成频谱图的数据可在此处获得.

可重现的代码

from __future__ import division
from matplotlib import ticker as mtick
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
import numpy as np

data = np.genfromtxt('pressure.dat', skiprows = 1, delimiter = '\t')
pressure = data[:, 1]
theta = data[:, 0]


with PdfPages('Spectorgram of cylinder pressure.pdf') as spectorgram_pressure:
    _spectorgram_pressure_vs_frequency_ = plt.figure(figsize=(5.15, 5.15))
    _spectorgram_pressure_vs_frequency_.clf()
    spectorgram_pressure_vs_frequency = plt.subplot(111)
    cax = plt.specgram(pressure * 100000, NFFT = 256, Fs = 90000, cmap=plt.cm.gist_heat, zorder = 1)
    spectorgram_pressure_vs_frequency.grid(False, which="major")
    spectorgram_pressure_vs_frequency.set_xlabel('Time (s)', labelpad=6)
    spectorgram_pressure_vs_frequency.set_ylabel('Frequency …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何在Python中创建三元等高线图?

我有一个数据集如下(在Python中):

import numpy as np
A = np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.2, 0.2, 0.05, 0.1])
B = np.array([0.9, 0.7, 0.5, 0.3, 0.1, 0.2, 0.1, 0.15, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
C = np.array([0, 0.1, 0.2, 0.3, 0.4, 0.2, 0.2, 0.05, 0.1, 0.9, 0.7, 0.5, 0.3, 0.1, 0.2, 0.1, 0.15, 0])
D = np.array([1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, …
Run Code Online (Sandbox Code Playgroud)

python plot graph matplotlib contour

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

如何用Python确定拟合参数的不确定性?

我有x和y的以下数据:

x   y
1.71    0.0
1.76    5.0
1.81    10.0
1.86    15.0
1.93    20.0
2.01    25.0
2.09    30.0
2.20    35.0
2.32    40.0
2.47    45.0
2.65    50.0
2.87    55.0
3.16    60.0
3.53    65.0
4.02    70.0
4.69    75.0
5.64    80.0
7.07    85.0
9.35    90.0
13.34   95.0
21.43   100.0
Run Code Online (Sandbox Code Playgroud)

对于上面的数据,我试图在表单中拟合数据:

式

然而,x和y存在某些不确定性,其中x具有x的50%的不确定性,y具有固定的不确定性.我试图用这个不确定性包来确定拟合参数的不确定性.但是,我遇到了曲线拟合与scipy optimize曲线拟合函数的问题.我收到以下错误:

minpack.error:函数调用的结果不是一个正确的浮点数组.

如何修复以下错误并确定拟合参数(a,b和n)的不确定度?

MWE

from __future__ import division
import numpy as np
import re
from scipy import optimize, interpolate, spatial
from scipy.interpolate import UnivariateSpline
from uncertainties import unumpy


def …
Run Code Online (Sandbox Code Playgroud)

python numpy curve-fitting scipy uncertainty

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

如何在Python中找到一条线和多条曲线的交点?

我有图中所示的数据.

在此输入图像描述

曲线是外推的,我有一条方程已知的线.曲线方程未知.现在,如何找到该线与每条曲线的交点?

可重现的代码:

import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate


x = np.array([[0.12, 0.11, 0.1, 0.09, 0.08],
              [0.13, 0.12, 0.11, 0.1, 0.09],
              [0.15, 0.14, 0.12, 0.11, 0.1],
              [0.17, 0.15, 0.14, 0.12, 0.11],
              [0.19, 0.17, 0.16, 0.14, 0.12],
              [0.22, 0.19, 0.17, 0.15, 0.13],
              [0.24, 0.22, 0.19, 0.16, 0.14],
              [0.27, 0.24, 0.21, 0.18, 0.15],
              [0.29, 0.26, 0.22, 0.19, 0.16]])

y = np.array([[71.64, 78.52, 84.91, 89.35, 97.58],
              [66.28, 73.67, 79.87, 85.36, 93.24],
              [61.48, 69.31, 75.36, 81.87, 89.35],
              [57.61, …
Run Code Online (Sandbox Code Playgroud)

python equation numpy scipy

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

如何在Python中沿曲线注释文本?

我试图在图中注释文本,以便它们遵循线的曲率.我有以下情节:

在此输入图像描述

这就是我想要获得的,如果我为注释修复了一个特定的y值,对于每条曲线,它应该沿着曲线将注释放在所需的斜率上(即它应该遵循曲线的曲率),如下所示:

在此输入图像描述

没有注释的绘图的可重现代码是:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([[53.4, 57.6, 65.6, 72.9],
            [60.8, 66.5, 73.1, 83.3],
            [72.8, 80.3, 87.2, 99.3],
            [90.2, 99.7, 109.1, 121.9],
            [113.6, 125.6, 139.8, 152]])

y = np.array([[5.7, 6.4, 7.2, 7.8],
            [5.9, 6.5, 7.2, 7.9],
            [6.0, 6.7, 7.3, 8.0],
            [6.3, 7.0, 7.6, 8.2],
            [6.7, 7.5, 8.2, 8.7]])

plt.figure(figsize=(5.15, 5.15))
plt.subplot(111)
for i in range(len(x)):
    plt.plot(x[i, :] ,y[i, :])
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
Run Code Online (Sandbox Code Playgroud)

如何使用matplotlib在Python中放置这样的文本?

python plot annotations graph matplotlib

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