- 积分
- 2991
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 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')
|
-
-
|