小编Hoo*_*ked的帖子

为什么我的matlab插图在我的matplotlib图中切断了?

我正在绘制一个数据集,使用的matplotlib地方我有一个相当"高"的xlabel(它是一个在TeX中呈现的公式,包含一个分数,因此其高度相当于几行文本).

在任何情况下,当我绘制数字时,公式的底部总是被切断.改变图形大小似乎没有帮助,我无法弄清楚如何将x轴"向上"移动以为xlabel腾出空间.这样的事情将是一个合理的临时解决方案,但更好的方法是让matplotlib自动识别标签被切断并相应调整大小.

这是我的意思的一个例子:

import matplotlib.pyplot as plt

plt.figure()
plt.ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$')
plt.xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$')
plt.show()
Run Code Online (Sandbox Code Playgroud)

当你可以看到整个ylabel时,xlabel在底部被切断.

在这是特定于机器的问题的情况下,我在OSX 10.6.8上使用matplotlib 1.0.0运行它

python matplotlib

265
推荐指数
6
解决办法
21万
查看次数

如何以正确的方式平滑曲线?

让我们假设我们有一个可能大约给出的数据集

import numpy as np
x = np.linspace(0,2*np.pi,100)
y = np.sin(x) + np.random.random(100) * 0.2
Run Code Online (Sandbox Code Playgroud)

因此,我们有20%的数据集变化.我的第一个想法是使用scipy的单变量函数函数,但问题是这不会很好地考虑小噪声.如果你考虑频率,背景远小于信号,所以只有截止的样条可能是一个想法,但这将涉及来回傅里叶变换,这可能导致不良行为.另一种方式是移动平均线,但这也需要正确选择延迟.

任何提示/书籍或链接如何解决这个问题?

例

python signal-processing numpy data-processing scipy

170
推荐指数
8
解决办法
20万
查看次数

如何在Python中进行指数和对数曲线拟合?我发现只有多项式拟合

我有一组数据,我想比较哪条线最好地描述它(不同顺序的多项式,指数或对数).

我使用Python和Numpy,对于多项式拟合,有一个函数polyfit().但我没有发现指数和对数拟合的这些函数.

有吗?或者如何解决呢?

python numpy curve-fitting scipy linear-regression

129
推荐指数
6
解决办法
19万
查看次数

Numpy数组,如何选择满足多个条件的指数?

假设我有一个numpy数组x = [5, 2, 3, 1, 4, 5],y = ['f', 'o', 'o', 'b', 'a', 'r'].我想选择y对应于x大于1且小于5的元素的元素.

我试过了

x = array([5, 2, 3, 1, 4, 5])
y = array(['f','o','o','b','a','r'])
output = y[x > 1 & x < 5] # desired output is ['o','o','a']
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我该怎么做?

python numpy

126
推荐指数
4
解决办法
17万
查看次数

在matplotlib中将y轴标签添加到辅助y轴

我可以使用左侧y轴添加一个标签plt.ylabel,但是如何将它添加到辅助y轴?

table = sql.read_frame(query,connection)

table[0].plot(color=colors[0],ylim=(0,100))
table[1].plot(secondary_y=True,color=colors[1])
plt.ylabel('$')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

100
推荐指数
5
解决办法
15万
查看次数

c ++ 11的序列拉链功能?

使用新的基于范围的for循环,我们可以编写类似的代码

for(auto x: Y) {}
Run Code Online (Sandbox Code Playgroud)

哪个IMO是一个巨大的进步(例如)

for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {}
Run Code Online (Sandbox Code Playgroud)

可以用它来循环两个同时循环,比如Pythons zip函数吗?对于那些不熟悉Python的人,代码如下:

Y1 = [1,2,3]
Y2 = [4,5,6,7]
for x1,x2 in zip(Y1,Y2):
    print x1,x2
Run Code Online (Sandbox Code Playgroud)

作为输出 (1,4) (2,5) (3,6)

c++ sequences c++11

87
推荐指数
11
解决办法
4万
查看次数

在matplotlib中更改x轴刻度

我用Matlab创建了这个图

在此输入图像描述

使用matplotlib,x轴可以绘制大数,例如100000,200000,300000.我希望有1,2,3和10 ^ 5之类的东西来表示它实际上是100000,200000,300000.

有没有一种简单的方法在matplotlib中创建这样的比例?

python matplotlib

81
推荐指数
4
解决办法
13万
查看次数

创建零填充的pandas数据框

创建给定大小的零填充pandas数据帧的最佳方法是什么?

我用过:

zero_data = np.zeros(shape=(len(data),len(feature_list)))
d = pd.DataFrame(zero_data, columns=feature_list)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

python dataframe pandas

80
推荐指数
4
解决办法
12万
查看次数

如何在TensorFlow上进行Xavier初始化

我正在将我的Caffe网络移植到TensorFlow,但它似乎没有xavier初始化.我正在使用,truncated_normal但这似乎使得训练更加困难.

python tensorflow

80
推荐指数
6
解决办法
8万
查看次数

Python中的散点图和颜色映射

我有一系列的点x和y存储在numpy数组中.那些代表x(t)和y(t),其中t = 0 ... T-1

我正在使用绘制散点图

import matplotlib.pyplot as plt

plt.scatter(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想有一个颜色图表示时间(因此根据numpy数组中的索引着色点)

最简单的方法是什么?

python matplotlib

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