相关疑难解决方法(0)

使用PyPlot绘制平滑线

我有以下简单的脚本绘制图表:

import matplotlib.pyplot as plt
import numpy as np

T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E+03, 5.92E+02, 2.04E+02, 7.24E+01, 2.72E+01, 1.10E+01, 4.70E+00])

plt.plot(T,power)
plt.show()
Run Code Online (Sandbox Code Playgroud)

就像现在一样,这条直线从一点到另一点直线看起来不错,但在我看来可能更好.我想要的是平滑点之间的界限.在Gnuplot,我会用smooth cplines.

在PyPlot中有一种简单的方法吗?我找到了一些教程,但它们看起来都相当复杂.

python plot matplotlib curvesmoothing

104
推荐指数
6
解决办法
15万
查看次数

在日期时间之外创建numpy linspace

我正在编写一个脚本,用x轴绘制一些日期数据(在matplotlib中).我需要创建一个numpy.linspace超出这些日期,以便之后创建样条曲线.有可能吗?

我尝试过的:

import datetime
import numpy as np

dates = [
    datetime.datetime(2015, 7, 2, 0, 31, 41),
    datetime.datetime(2015, 7, 2, 1, 35),
    datetime.datetime(2015, 7, 2, 2, 37, 9),
    datetime.datetime(2015, 7, 2, 3, 59, 16),
    datetime.datetime(2015, 7, 2, 5, 2, 23)]

x = np.linspace(min(dates), max(dates), 500)
Run Code Online (Sandbox Code Playgroud)

它抛出此错误:

TypeError: unsupported operand type(s) for *: 'datetime.datetime' and 'float'
Run Code Online (Sandbox Code Playgroud)

我也尝试转换datetimenp.datetime64,但是,这并不工作,以及:

dates = [ np.datetime64(i) for i in dates ]
x = np.linspace(min(dates), max(dates), 500)
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: ufunc multiply …
Run Code Online (Sandbox Code Playgroud)

python datetime numpy matplotlib

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

标签 统计

matplotlib ×2

python ×2

curvesmoothing ×1

datetime ×1

numpy ×1

plot ×1