- 积分
- 970
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-10-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
画出来一张图,图例超出范围,保存效果如下图。求助怎么把图例包含在内。此外想把横坐标和纵坐标互换一下,纵坐标表示高度,横坐标表示风速,有什么办法,谢谢!
代码如下:
- # -*- coding: utf-8 -*-
- """
- Created on Sun Mar 10 08:41:43 2019
- @author: chy
- """
- '''
- grads数据ctl文件
- dset ...\Dataquan/Fengsm.dat
- undef 9.999E+20
- xdef 1 linear 110 1
- ydef 1 linear 20 1
- zdef 127 levels 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400
- 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900
- 3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 4100 4200 4300 4400
- 4500 4600 4700 4800 4900 5000 5100 5200 5400 5600 5800 6000 6200 6400 6600
- 6800 7000 7200 7400 7600 7800 8000 8200 8400 8600 8800 9000 9200 9400 9600
- 9800 10000 10200 10400 10600 10800 11000 11200 11400 11600 11800 12000
- 12200 12400 12600 12800 13000 13200 13400 13600 13800 14000 14200 14400
- 14600 14800 15000 15200 15400 15600 15800 16000 16200 16400 16600 16800
- 17000 17200 17400 17600 17800 18000 18200 18400 18600 18800 19000 19200
- 19400 19600 19800 20000 20200
- tdef 45 linear 15aug2014 1mo
- vars 1
- Fengsm 127 99
- ENDVARS
- '''
- '''
- 导入numpy,matplotlib
- '''
- import numpy as np
- #import matplotlib
- from matplotlib import pyplot as plt
- #from pylab import * 等效于 from matplotlib import pyplot as plt
- '''
- 中文字体
- '''
- #zhfont1=matplotlib.font_manager.FontProperties(fname="C:\py_font\SimHei.ttf")
- plt.rcParams['font.sans-serif'] = ['SimHei'] #全局修改中文,使用黑体
- '''
- 读取文件
- '''
- f=open('E:\paper\Grads\Dataquan\Fengsm.dat',mode='rb')
- fengs = np.fromfile(f,dtype='f') #学习二进制数据读取,np.fromfile
- fengs1=fengs.reshape([45,127]) #reshape(t,z,y,x)
- #fengs.reshape([45,127]) #会出现reshape后的数组,但是原数组的不会变
- f.close()
- '''
- #获取127层高度
- '''
- hgt1=np.arange(100,5200,100)
- hgt2=np.arange(5200,20400,200)
- hgt=list(hgt1)+list(hgt2)
- #len(hgt)
- #print(hgt)
- '''
- 画图,用subplot多图,坐标轴设置,图例
- '''
- fig=plt.figure()
- fig,(ax1,ax2,ax3)=plt.subplots(1,3,sharex='row',sharey='all')
- for i in np.arange(5,17,1):
- ax1.plot(hgt,fengs1[i,0:])
- ax1.set_ylabel('风速') #y轴
- ax1.set_title('2015年风速变化') #标题
- for i in np.arange(17,29,1):
- ax2.plot(hgt,fengs1[i,0:])
- ax2.set_title('2016年风速变化') #标题
- ax2.set_xlabel('高度') #x轴
- for i in np.arange(29,41,1):
- ax3.plot(hgt,fengs1[i,0:])
- ax3.set_title('2017年风速变化') #标题
-
- #fig.set_subtitle('2015-2017年风速变化')
- fig.subplots_adjust(wspace=0.1) #调整加宽不同子图之间的高间距,宽间距用wspace
- fig.legend(['一月','二月','三月','四月','五月','六月','七月','八月',
- '九月','十月','十一月','十二月'],\
- bbox_to_anchor=(1.05, 0.8),ncol=1) #添加图例
- plt.savefig('fengV.svg',bbox_inches = 'tight')
- plt.show()
复制代码
|
-
-
|