- 积分
 - 3020
 
	- 贡献
 -  
 
	- 精华
 
	- 在线时间
 -  小时
 
	- 注册时间
 - 2014-5-6
 
	- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
	
 
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
 本帖最后由 Kongxiangye 于 2022-5-19 09:13 编辑  
 
根据李老师教的步骤,弄个了程序画三线图,能显示(第一张图),但是为什么输出的是空白框框(第二张图)?请问我的哪里有问题?还有横坐标的年份也显示不出来??? 
 
#引用部分 
import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd 
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文 
plt.rcParams['axes.unicode_minus']=False  #用来正常显示中文 
 
#数据处理部分 
df = pd.read_csv('001.csv') 
df['Time'] = pd.to_datetime(df['Time']) 
t = np.array(df['Time']) 
dy1 = np.array(df['Day1']) 
it1 = np.array(df['Int1']) 
cn1 = np.array(df['Con1']) 
 
#绘图部分 
#声明画布及绘图区 
fig = plt.figure(figsize=(9.6,7.2)) 
ax1 = fig.add_subplot(111) 
ax2 = ax1.twinx() 
ax3 = ax1.twinx() 
 
ax3.spines['right'].set_position(('outward',30)) 
#绘制图形 
line1,=ax1.plot(t,dy1,'r-',linewidth=3,label='天数') 
line2,=ax2.plot(t,it1,'g--',linewidth=1,label='暴雨强度') 
line3,=ax3.plot(t,cn1,'k-',linewidth=3,label='暴雨贡献率') 
 
 
#标题与图例 
ax1.set_xlabel('年份',labelpad=10,horizontalalignment='right') 
ax1.set_ylabel('天数/day',verticalalignment='baseline') 
ax2.set_ylabel('暴雨强度/(mm/day)',labelpad=1) 
ax3.set_ylabel('暴雨贡献率/%',labelpad=1) 
plt.legend((line1,line2,line3),('天数','暴雨强度','暴雨贡献率')) 
 
#显示输出 
plt.show() 
plt.savefig('D:/f.png',dpi=300, bbox_inches='tight') 
 
 
 |   
- 
 
 
 
- 
 
 
 
 
 
 
 
 |