本文介绍了在matplotlib图中绘制平滑曲线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用python读取netcdf文件,并且需要使用python中的matplotlib库绘制图形.netcdf文件包含3个变量:u
v
和w
组件.我必须在垂直比例尺上绘制这三个组件.由于这些数据将用于天气预报雷达.我需要在拐角处绘制带有平滑曲线的这些图.现在该图看起来并且代码是...
I am reading a netcdf file using python and need to plot a graphs using matplotlib library in python.The netcdf file is containing 3 variables: u
v
and w
components.I have to draw these 3 components on a vertical scale.Since these data is going to be used in a weather forecasting radar's.I need to plot these graphs with smooth curves around the corner.now the plot looksand the code is...
from netCDF4 import Dataset
from pylab import *
import numpy
from scipy import interpolate
from scipy.interpolate import spline
#passing the filename
root_grp=Dataset('C:\\Python27\\MyPrograms\\nnt206rwpuvw.nc')
#getting values of u component
temp1 = root_grp.variables['ucomponent']
data1 = temp1[:]
u=data1[0]
#getting values of v component
temp2 = root_grp.variables['wcomponent']
data2 = temp2[:]
v=data2[0]
#getting values of w component
temp3 = root_grp.variables['wcomponent']
data3 = temp3[:]
w=data3[0]
#creating a new array
array=0.15*numpy.arange(1,55).reshape(1,54)
#aliasing
y=array[0]
#sub-plots
f, (ax1, ax2, ax3) = plt.subplots(1,3, sharey=True)
ax1.plot(u,y,'r')
ax2.plot(v,y,'g')
ax3.plot(w,y,'b')
#texts
ax1.set_title('u component',fontsize=16,color='r')
ax2.set_title('v component',fontsize=16,color='g')
ax3.set_title('w component',fontsize=16,color='b')
show()
推荐答案
一个简单的解决方案是使用样条线进行插值,如.
A simple solution is to do interpolation with splines, as explained in a nice Scipy tutorial.
这里是一个例子:
这篇关于在matplotlib图中绘制平滑曲线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!