python 折线图平滑_在matplotlib图中绘制平滑曲线

1586010002-jmsa.png

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 looks

d0Y6q.png

and 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.

Here is an example:

KKHC2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值