我正在绘制一个数据集,使用的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运行它
让我们假设我们有一个可能大约给出的数据集
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和Numpy,对于多项式拟合,有一个函数polyfit()
.但我没有发现指数和对数拟合的这些函数.
有吗?或者如何解决呢?
假设我有一个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)
但这不起作用.我该怎么做?
我可以使用左侧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) 使用新的基于范围的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)
我用Matlab创建了这个图
使用matplotlib,x轴可以绘制大数,例如100000,200000,300000.我希望有1,2,3和10 ^ 5之类的东西来表示它实际上是100000,200000,300000.
有没有一种简单的方法在matplotlib中创建这样的比例?
创建给定大小的零填充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)
有没有更好的方法呢?
我正在将我的Caffe网络移植到TensorFlow,但它似乎没有xavier初始化.我正在使用,truncated_normal
但这似乎使得训练更加困难.
我有一系列的点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 ×9
matplotlib ×4
numpy ×3
scipy ×2
c++ ×1
c++11 ×1
dataframe ×1
pandas ×1
sequences ×1
tensorflow ×1