python可以帮忙看一下哪里错了吗,运行不出来图
本帖最后由 金倩倩的美梦 于 2021-11-16 16:52 编辑文件(中国进出口总额年度数据.csv):
指标 进出口总额(人民币)(亿元) 出口总额(人民币)(亿元) 进口总额(人民币)(亿元) 进出口差额(人民币)(亿元) 进出口总额(美元)(百万美元) 出口总额(美元)(百万美元) 进口总额(美元)(百万美元) 进出口差额(美元)(百万美元) 数据来源:国家统计局
2020年 321557 179326 142231 37096
2019年 315627.32 172373.63 143253.69 29119.94 4577891.07 2499482.09 2078408.98 421073.11
2018年 305008.13 164127.81 140880.32 23247.49 4622415 2486682 2135734 350948
2017年 278099.24 153309.43 124789.81 28519.62 4107138 2263345 1843793 419552
2016年 243386.46 138419.29 104967.17 33452.12 3685557.41 2097631.19 1587926.22 509705
2015年 245502.93 141166.83 104336.1 36830.73 3953032.72 2273468.22 1679564.5 593903.73
2014年 264241.77 143883.75 120358.03 23525.72 4301527 2342293 1959235 383058
2013年 258168.89 137131.43 121037.46 16093.98 4158993 2209004 1949989 259015
2012年 244160.21 129359.25 114800.96 14558.29 3867119 2048714 1818405 230309
2011年 236401.95 123240.56 113161.39 10079.16 3641864 1898381 1743484 154897
2010年 201722.34 107022.84 94699.5 12323.34 2974001 1577754 1396247 181507
2009年 150648.06 82029.69 68618.37 13411.32 2207535 1201612 1005923 195689
2008年 179921.47 100394.94 79526.53 20868.41 2563255 1430693 1132562 298131
2007年 166924.07 93627.14 73296.93 20330.2 2176175 1220060 956115 263944
2006年 140974.74 77597.89 63376.86 14221.03 1760438 968978 791461 177517
2005年 116921.77 62648.09 54273.68 8374.41 1421906 761953 659953 102001
2004年 95539.09 49103.33 46435.76 2667.57 1154554 593326 561229 32097
2003年 70483.45 36287.89 34195.56 2092.32 850988 438228 412760 25468
2002年 51378.15 26947.87 24430.27 2517.6 620766 325596 295170 30426
2001年 42183.62 22024.44 20159.18 1865.26 509651 266098 243553 22545
题目:
# 读取中国进出口总额年度数据.csv,利用学过的Matplotlib图形对数据的特征和分布进行绘图展示。
# 要求:须有散点图、饼图、直方图、折线图、箱体图
# 试分析:
# 1.年度进出口总额的折线图、散点图
# 2.2019年出口总额(人民币)(亿元)、进口总额(人民币)(亿元)的饼图和直方图
# 3.出口总额(人民币)(亿元)、进口总额(人民币)(亿元)的箱体图
我做的:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data=np.loadtxt('中国进出口总额年度数据.csv',delimiter=',',skiprows=1,dtype=str)
print(data)
arr1=plt.figure(figsize=(12,12))
arr2= arr1.add_subplot(2, 1, 1)
plt.plot(data[:,0],data[:,1],'b--')
plt.legend('年度进出口总额')
plt.xlabel('时间')
plt.xticks(range(0, 20, 1), data, rotation=45)
plt.ylabel('进出口总额(人民币)(亿元)')
plt.title('年度进出口总额折线图')
arr3= arr1.add_subplot(2, 1, 2)
plt.scatter(data[:, 0], data[:, 1], marker='o')
plt.legend('年度进出口总额')
plt.xlabel('时间')
plt.xticks(range(0, 20, 1), data, rotation=45)
plt.ylabel('进出口总额(人民币)(亿元)')
plt.title('年度进出口总额散点图')
plt.show()
# 饼图
arr4= plt.figure(figsize=(12, 12))
arr5= arr4.add_subplot(2, 1, 1)
ex =
label1=('出口总额(美元)(百万美元)' ,'进口总额(美元)(百万美元)')
plt.pie(data, explode=ex, labels=label1, autopct='%1.1f%%')
plt.title('2019年进出口总额饼图')
# 直方图
arr7= arr4.add_subplot(2, 1, 2)
plt.bar(range(2),data,width=0.5)
label2=['2019年出口总额','2019年进口总额']
plt.xticks(range(2),label2)
plt.xlabel('类别')
plt.ylabel('美元(百万美元)')
plt.title('2019年进出口总额直方图')
plt.show()
gdp=(list(data[:,6:7]))
plt.boxplot(gdp, notch=True, labels=['出口总额','进口总额'], meanline=True)
p3 = plt.figure(figsize=(10, 10))
plt.xlabel('年份')
plt.ylabel('美元(百万美元)')
plt.title('进出口总额箱线图')
plt.show()
谢谢各位大佬,我没有权限贴原文件 2020缺少数据?
用你的代码运行能看到图,没什么问题。 suchocolate 发表于 2021-11-16 17:50
用你的代码运行能看到图,没什么问题。
直方图和箱线图运行不了 suchocolate 发表于 2021-11-16 17:30
2020缺少数据?
老师给的原文件{:10_266:}, 金倩倩的美梦 发表于 2021-11-16 19:20
老师给的原文件,
用你的数据画的。
1)数据变成字符串了,得转换成类型。
2)两组数据得分开,然后放到一个列表里。
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data = np.loadtxt('test.csv', delimiter=',', skiprows=1, dtype=str)
new_a = []
new_b = []
for item in data[:, 3:4]:
new_a.append(float(item))
for item in data[:, 4:5]:
new_b.append(float(item))
gdp =
plt.boxplot(gdp, notch=True, labels=['出口总额', '进口总额'], meanline=True)
plt.xlabel('年份')
plt.ylabel('美元(百万美元)')
plt.title('进出口总额箱线图')
plt.show()
页:
[1]