前言
因为本博客是直接导入markdown文件(jupter写的)生成的,所以会导致分不清代码和输出,如果大家需要清楚的代码和输出,就请下载以下html文件
matplotlibTrain (1).html
题目:练习使用matplotlib 包中的方法绘图。
1.通过pandas包将数据scmd_CalculationData.csv读入,从中取出winddirection和windspeed1这2个字段,绘制风速与风向的散点图(风向为横轴,风速为y轴)。(要求:有标题(风速与风向的函数)、横纵坐标的标题、设置网格,保存图片文件命名为1风速与风向的函数.png)
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("C:\\Users\\zzh\\Desktop\\dataMiningExperment\\exp3\data\\scmd_CalculationData.csv")
df.head()
|
Name |
TimeDate |
power |
baro |
windspeed1 |
windspeed2 |
winddirection |
temp |
power_max |
power_min |
... |
grid_std |
fault_max |
fault_min |
fault_std |
windcha |
tlqd |
K_temp |
md |
v3 |
cp |
0 |
1 |
2016/11/9 13:00 |
-21.27 |
997.63 |
2.81 |
2.76 |
226.59 |
-0.51 |
43.45 |
-41.42 |
... |
0.5 |
0 |
0 |
0 |
0.05 |
0.295374 |
272.64 |
1.274742 |
22.188041 |
-0.001380 |
1 |
1 |
2016/11/9 11:10 |
-38.70 |
999.04 |
3.01 |
2.97 |
209.90 |
-2.11 |
-19.73 |
-51.16 |
... |
0.4 |
0 |
0 |
0 |
0.04 |
0.209302 |
271.04 |
1.284080 |
27.270901 |
-0.002028 |
2 |
1 |
2016/11/9 12:10 |
-38.05 |
998.46 |
3.14 |
3.10 |
243.00 |
-1.40 |
-11.24 |
-49.90 |
... |
0.5 |
0 |
0 |
0 |
0.04 |
0.168790 |
271.75 |
1.279981 |
30.959144 |
-0.001762 |
3 |
1 |
2016/11/9 11:50 |
-30.16 |
998.61 |
3.19 |
3.12 |
218.40 |
-1.65 |
30.88 |
-48.64 |
... |
0.5 |
0 |
0 |
0 |
0.07 |
0.197492 |
271.50 |
1.281352 |
32.461759 |
-0.001331 |
4 |
1 |
2016/11/9 13:20 |
-27.64 |
997.26 |
3.30 |
3.27 |
227.41 |
-0.52 |
170.75 |
-48.33 |
... |
0.4 |
0 |
0 |
0 |
0.03 |
0.206061 |
272.63 |
1.274316 |
35.937000 |
-0.001108 |
5 rows × 40 columns
winddirection=df["winddirection"]
windspeed1=df["windspeed1"]
plt.rc('font', family='SimHei', size=15)
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(9,8))
plt.title('风速与风向的函数')
plt.xlabel('风向(°)')
plt.ylabel('风速(m/s)')
plt.axis([120, 260, 2, 14])
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4)
plt.plot(winddirection,windspeed1, 'ro')
plt.savefig('1风速与风向的函数.png')
2.通过pandas包将数据scmd_CalculationData.csv读入,从中取出windspeed1、power_max、power_min、power和power_dev这5个字段,绘制功率特性的散点图(风速为x轴,其他为y轴)。(要求:有标题(功率特性散点图)、横纵坐标的标题、图例、设置网格,保存图片文件命名为2功率特性散点图.png)
windspeed1=df["windspeed1"]
power_max=df['power_max']
power_min=df['power_min']
power=df['power']
power_dev=df['power_dev']
plt.figure(figsize=(9,8))
plt.title('功率特性的散点图')
plt.xlabel('风向(°)')
plt.ylabel('功率(kW)')
plt.axis([0, 20, -200, 1600])
plt.legend(['最大值','最小值','平均值','标准值'])
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4)
plt.plot(windspeed1,power_max,'ro')
plt.plot(windspeed1,power_min,'ko')
plt.plot(windspeed1,power,'bo')
plt.plot(windspeed1,power_dev,'go')
plt.savefig('2功率特性散点图.png')
3.通过pandas包将数据bz_df_wt.csv读入,从中取出bin_bz_fs<=20的数据,然后取出实际风速bin_bz_fs和实际功率bin_bz_power;再读入bzglqx.csv取出保证风速fs和保证功率gl,绘制功率曲线的对比图(一张图中绘制,横轴为风速,纵轴为功率)。(要求:有标题(实测与设计功率曲线对比)、横纵坐标的标题、图例、设置网格,保存图片文件命名为3实测与设计功率曲线对比.png)
df1=pd.read_csv("C:\\Users\\zzh\\Desktop\\dataMiningExperment\\exp3\data\\bz_df_wt.csv")
df1.tail()
|
binNum |
bin_bz_cp |
bin_bz_fs |
bin_bz_power |
bin_bz_size |
46 |
46 |
0.0 |
23.0 |
1474.895 |
0.0 |
47 |
47 |
0.0 |
23.5 |
1474.895 |
0.0 |
48 |
48 |
0.0 |
24.0 |
1474.895 |
0.0 |
49 |
49 |
0.0 |
24.5 |
1474.895 |
0.0 |
50 |
50 |
0.0 |
25.0 |
1474.895 |
0.0 |
bin_bz_fs=df1[df1.bin_bz_fs<=20]
bin_bz_fs.tail()
|
binNum |
bin_bz_cp |
bin_bz_fs |
bin_bz_power |
bin_bz_size |
36 |
36 |
0.0 |
18.0 |
1474.895 |
0.0 |
37 |
37 |
0.0 |
18.5 |
1474.895 |
0.0 |
38 |
38 |
0.0 |
19.0 |
1474.895 |
0.0 |
39 |
39 |
0.0 |
19.5 |
1474.895 |
0.0 |
40 |
40 |
0.0 |
20.0 |
1474.895 |
0.0 |
bin_bz_fs=df1['bin_bz_fs']
bin_bz_power=df1['bin_bz_power']
df2=pd.read_csv("C:\\Users\\zzh\\Desktop\\dataMiningExperment\\exp3\data\\bzglqx.csv")
df2.head()
|
0 |
0.1 |
0 |
0.5 |
0.0 |
1 |
1.0 |
0.0 |
2 |
1.5 |
0.0 |
3 |
2.0 |
0.0 |
4 |
2.5 |
0.0 |
fs=df2.iloc[:,0]
gl=df2.iloc[:,1]
plt.figure(figsize=(9,8))
plt.xlabel('风速(°)')
plt.ylabel('纵轴(m/s)')
plt.title('实测与设计功率曲线对比')
plt.axis([ 0, 20,-200, 1600])
plt.legend(['实测功率曲线','设计功率曲线'])
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4)
plt.plot(bin_bz_fs,bin_bz_power, 'ro', bin_bz_fs,bin_bz_power, 'r')
plt.plot(fs,gl, 'go', fs,gl, 'g')
plt.savefig('实测与设计功率曲线对比.png')
大家好,我是[爱做梦的子浩](https://blog.csdn.net/weixin_43124279),我是东北大学大数据实验班大三的小菜鸡,非常向往优秀,羡慕优秀的人,已拿两个暑假offer,欢迎大家找我进行交流😂😂😂
这是我的博客地址:[子浩的博客https://blog.csdn.net/weixin_43124279]
——
版权声明:本文为CSDN博主「爱做梦的子浩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。