爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6170|回复: 7

[求助] 三线图保存出来的图片是空白框框(问题已解决!)

[复制链接]

新浪微博达人勋

发表于 2022-5-18 11:40:27 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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')


2.png
3.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-5-18 23:09:31 | 显示全部楼层
最后两行代码换个顺序,labelpad调小一点
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-5-18 23:24:58 | 显示全部楼层
注释掉plt.show
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-19 08:41:31 | 显示全部楼层

谢谢,注释掉plt.show后,真输出正常了,感谢!看教程,没发现这样的问题。能否再问问,横坐标的年份显示不出来,是年份有特殊的输出或者表达方式吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-19 08:48:17 | 显示全部楼层
qinzhao 发表于 2022-5-18 23:09
最后两行代码换个顺序,labelpad调小一点

已试更换顺序,保存出来了,感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-19 08:50:25 | 显示全部楼层
qinzhao 发表于 2022-5-18 23:09
最后两行代码换个顺序,labelpad调小一点

能否再请教下,横坐标的年份怎么输出来?用什么方式表示?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-5-19 08:57:44 来自手机 | 显示全部楼层
Kongxiangye 发表于 2022-05-19 08:50
能否再请教下,横坐标的年份怎么输出来?用什么方式表示?

试一下注释掉pd.to_datetime这一行呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-19 09:03:19 | 显示全部楼层
qinzhao 发表于 2022-5-19 08:57
试一下注释掉pd.to_datetime这一行呢

厉害,可以了,我还在看教程和其他人的程序,没想到那么简单,感谢感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表