1.绘制正弦曲线图
import matplotlib
matplotlib.use('Agg')
#代码开始
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi, 20)
y = np.sin(x)
plt.figure(figsize=(10, 5))
plt.plot(x, y)
plt.savefig('image/zxt.jpg')
#代码结束
2.绘制阻尼衰减曲线
import matplotlib
matplotlib.use('Agg')
#代码开始
import numpy as np
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(8, 6))
x = np.linspace(0, 6, 101)
y = np.cos(2 * np.pi * x) * np.exp(-x) + 0.8
plt.xlabel('时间(s)')
plt.ylabel('幅度(mv)')
plt.title("阻尼衰减曲线绘制")
plt.xlim(0, 6)
plt.ylim(0, 1.8)
plt.xticks([np.pi/3, 2 * np.pi/3, 1 * np.pi, 4 * np.pi/3, 5 * np.pi/3], ['$\pi/3$', '$2\pi/3$', '$\pi$', '$4\pi/3$', '$5\pi/3$'])
plt.fill_between(x, y, 0,where=(x > 0.8) & (x < 3), facecolor='grey', alpha=0.25)
plt.plot(x, y, 'k',color='r', linewidth=3, linestyle="-", label="$exp_decay$")
plt.text(0.5*(0.8+3), 0.2, "$\int_a^b f(x)\mathrm{d}x$")
z = 0.5 * np.cos(x**2) + 0.8
plt.plot(x, z, "b--", label="$cos(x^2)$", linewidth=1)
plt.legend()
plt.savefig("image/znsj.jpg")
#代码结束
3.根据数据文件绘制1995-2014gdp折线图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
import pandas as pd
import os
df = pd.read_csv('test/gdp.csv',sep=',')
gdp_data = df.groupby("年份")["GDP"].sum()
plt.plot(gdp_data.index, gdp_data.values)
plt.xticks(gdp_data.index)
plt.savefig('image3/gdp.jpg')
#代码结束
4.根据数据文件绘制2000-2014gdp折线图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
import os
matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size'] = 16
# 代码开始
df = pd.read_csv('test/gdp.csv')
gdp_sum = df.groupby('年份')['GDP'].sum()
data_plot = gdp_sum.loc[2000:2014]
plt.figure(figsize=(10, 10))
x_axis_pos = range(1, 16)
plt.plot(x_axis_pos, data_plot.values, color='red', linestyle='-', marker='*', markersize=20)
plt.xticks(x_axis_pos, data_plot.index)
plt.xlim(1, 15)
plt.title('全国各年GDP折线图')
plt.xlabel('时间(s)')
plt.ylabel('GDP')
plt.savefig('image3/gdp4.jpg')
# 代码结束
5.根据数据文件绘制四个直辖市的gdp折线图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
import pandas as pd
import os
matplotlib.rcParams['font.size'] = 16
df = pd.read_csv('test/gdp.csv')
years = range(2000, 2015)
x_pos = range(1, 16)
plt.figure(figsize=(10, 10))
cities_config = [
{'name': '北京', 'color': 'red', 'marker': '*'},
{'name': '天津', 'color': 'blue', 'marker': '+'},
{'name': '上海', 'color': 'green', 'marker': '.'},
{'name': '重庆', 'color': 'y', 'marker': 'x'}
]
for city_info in cities_config:
city_name = city_info['name']
city_df = df[df['省份'] == city_name]
plot_data = city_df[(city_df['年份'] >= 2000) & (city_df['年份'] <= 2014)].sort_values('年份')
plt.plot(x_pos, plot_data['GDP'],
label=city_name,
color=city_info['color'],
marker=city_info['marker'],
markersize=20)
plt.xticks(x_pos, years)
plt.xlim(1, 15)
plt.title('直辖市各年GDP折线图')
plt.xlabel('时间(s)')
plt.ylabel('GDP')
plt.legend()
plt.savefig('image5/gdp5.jpg')
#代码结束
6.根据表格数据绘制条状图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
import numpy as np
import os
teachers = ['何老师', '张老师', '蒋老师', '黄老师', '王老师', '李老师', '唐老师', '刘老师']
scores = [84.12, 81.83, 79.89, 78.19, 76.83, 75.09, 74.58, 73.71]
x_pos = np.arange(len(teachers))
plt.bar(x_pos, height=scores, width=0.5, color='blue')
plt.title('平均成绩')
plt.xticks(x_pos, teachers)
if not os.path.exists('image3'):
os.makedirs('image3')
plt.savefig('image3/tzt.jpg')
#代码结束
7.根据数据文件显示各省20年人均gdp的条状图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size']='8'
plt.figure(figsize=(10, 10))
#代码开始
import pandas as pd
import numpy as np
import os
df = pd.read_csv('test/gdp.csv')
df_mean = df.groupby('省份')['人均GDP'].mean().sort_values(ascending=False)
x_labels = df_mean.index.tolist()
y_values = df_mean.values.tolist()
x_pos = np.arange(len(x_labels))
plt.bar(x_pos, height=y_values, width=0.5)
plt.title('全国各地人均GDP条形图')
plt.xlabel('地区')
plt.ylabel('人均GDP')
plt.xticks(x_pos, x_labels)
for x, y in zip(x_pos, y_values):
label_value = str(int(y))
plt.text(x - 0.5, y + 100, label_value)
plt.savefig('image3/gdp7.jpg')
#代码结束
8.根据数据文件显示四个直辖市2000年以来人均gdp
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
import pandas as pd
import numpy as np
import os
df = pd.read_csv('test/gdp.csv')
target_cities = ['北京', '天津', '上海', '重庆']
df = df[df['省份'].isin(target_cities)]
df = df[df['年份'] >= 2000]
df_pivot = df.pivot(index='年份', columns='省份', values='人均GDP')
years = df_pivot.index.tolist()
beijing_data = df_pivot['北京'].tolist()
tianjin_data = df_pivot['天津'].tolist()
shanghai_data = df_pivot['上海'].tolist()
chongqing_data = df_pivot['重庆'].tolist()
plt.figure(figsize=(10, 10))
bar_width = 0.2
x = np.arange(len(years))
plt.bar(x, beijing_data, width=bar_width, color='r', label='北京')
plt.bar(x + bar_width, tianjin_data, width=bar_width, color='b', label='天津')
plt.bar(x + bar_width * 2, shanghai_data, width=bar_width, color='g', label='上海')
plt.bar(x + bar_width * 3, chongqing_data, width=bar_width, color='y', label='重庆')
plt.title('直辖市人均GDP条形图')
plt.xlabel('地区')
plt.ylabel('人均GDP')
plt.xticks(x, years)
plt.legend()
plt.savefig('image3/gdp8.jpg')
#代码结束
9.根据数据文件显示各省20年来gdp的和的饼图
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size']='14'
plt.figure(figsize=(10,10))
# 代码开始
import pandas as pd
import os
df = pd.read_csv('test/gdp.csv')
data = df.groupby('省份')['GDP'].sum()
plt.pie(data, labels=data.index, autopct='%1.1f%%')
plt.title('全国各地GDP饼图')
plt.savefig('image3/gdp9.jpg')
# 代码结束
10.根据数据文件显示多个饼图显示2010-2013年各省gdp比例
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.size']='8'
plt.figure(figsize=(10,10))
# 代码开始
import pandas as pd
import os
df = pd.read_csv('test/gdp.csv')
years = [2010, 2011, 2012, 2013]
for i, year in enumerate(years):
plt.subplot(2, 2, i + 1)
data_year = df[df['年份'] == year]
plt.pie(data_year['GDP'], labels=data_year['省份'])
plt.title(str(year) + '年')
plt.savefig('image3/gdp10.jpg')
# 代码结束