我有以下绘制图形的简单脚本:
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()
就目前而言,这条线从一条直线到另一条直线看起来不错,但在我看来可能会更好。我想要的是使两点之间的线变得平滑。在Gnuplot
中,我会用绘制smooth cplines
。
在PyPlot中有一种简单的方法吗?我找到了一些教程,但是它们看起来都相当复杂。
你可以scipy.interpolate.spline
自己整理数据:
from scipy.interpolate import spline
# 300 represents number of points to make between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)
power_smooth = spline(T, power, xnew)
plt.plot(xnew,power_smooth)
plt.show()
scipy 0.19.0中不推荐使用spline,请改用BSpline类。
从切换spline
到BSpline
复制并不是简单的复制/粘贴操作,需要进行一些调整:
from scipy.interpolate import make_interp_spline, BSpline
# 300 represents number of points to make between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)
spl = make_interp_spline(T, power, k=3) # type: BSpline
power_smooth = spl(xnew)
plt.plot(xnew, power_smooth)
plt.show()
最近,我试图用pyplot/julia绘制一个球体,不幸的是,它比我想象的要难。可能积分生成有问题,但我不明白为什么我的实现不起作用。尽管使用原始python代码一切都很好。 我已经尝试将matplotlib曲面图doc中的demo2改编为MWE: 那么,我的Julia实现到底出了什么问题?
问题内容: 我的问题几乎与此类似: 从矩阵平滑表面图 只是我的工具集是matplotlib和numpy(到目前为止)。 我已经成功生成了X,Y和Z网格以进行绘制 但是,由于这些值非常跳跃,因此看起来非常糟糕。 我想使事情变得平滑,至少使顶点连接或看起来像那样。 我的数据是这样生成的:我有一个函数 它根据x生成矩阵,计算其y次幂,选择列和行的子集,并计算最大奇异值。因此,Z [x,y]是svOfMa
问题内容: 我正在创建路径,并使用和在每个路径中添加多行。然后绘制所有路径。但是某些路径中的线之间有1-2个像素的间隔。如何删除这些空格?我的代码是这样的: 问题答案: 也许这会创造你想要的 :)
问题内容: 我正在写容易的太空入侵者,并且在移动船只时遇到问题。基本上我先改变船的位置,然后再改变。如果变化很大,那就更像是跳跃而不是移动。如果更改很小,则动画会更平滑,但会变得更慢。有什么解决办法吗? 我正在使用JPanel并使用。 @edit:我不太了解我的电脑如何流畅地显示普通(新)游戏,而简单的绘图图像的帧率却很低。这就是为什么我认为这是软件问题而不是硬件问题。因此,也许我做了一些会影响帧
问题内容: 我的数据是: 是使用转换的字符串。 这样的情节非常前卫(这些不是我的实际情节): 我如何像这样平滑它: 我知道本文中提到的内容(这是我从中获取图像的地方),但是如何将其应用于熊猫时间序列? 我发现了一个名为Vincent的很棒的库,它可以处理Pandas,但它不支持Python 2.6。 问题答案: 得到它了。在这个问题的帮助下,我做了以下工作: 从几分钟到几秒重新采样。 \ >>>
嘿,我目前正在进行一个低水平的绘画程序,我对我画的粗糙线条有点恼火。当我将笔画设置为5或更高的自由手绘模式时,我得到了那些尖锐的边框,最终看起来非常糟糕: 冲程15、20和50: 很遗憾,我不能在这里张贴照片。。。我是否能够轻松创建平滑的边界?