实验目的:
掌握Python中箱线图、折线图绘图函数的使用及展示图形的意义利用上述绘图函数实现数据可视化实验内容:
练习python中箱线图、折线图绘图函数的用法,掌握相关参数的概念根据步骤一绘图函数要求,处理实验数据根据步骤二得到的实验数据,绘制箱线图、折线图练习如何通过调整参数使图片呈现不同效果,例如颜色、图例位置、背景网格、坐标轴刻度和标记等实验过程(附结果截图):
1. 练习python中箱线图、折线图绘图函数的用法,掌握相关参数的概念
(1)绘制箱线图
import matplotlib.pyplot as pltx = [1, 2, 3, 5] # 数据集plt.boxplot(x) # 垂直显示箱线图plt.show() # 显示该图
(2)绘制折线图
import matplotlib.pyplot as plt squares=[1, 4, 9, 16, 25]x=[1, 2, 3, 4, 5]plt.plot(x, squares)plt.show()
2. 根据步骤一绘图函数要求,处理实验数据
(1)实验数据
np.random.seed(2) # 设置随机种子df = pd.DataFrame(np.random.rand(5, 4),columns=['A', 'B', 'C', 'D']) # 先生成0-1之间的5*4维度数据,再装入4列DataFrame中
3. 根据步骤二得到的实验数据,绘制箱线图、折线图
(1)绘制箱线图
import numpy as npimport matplotlib.pyplot as pltimport pandas as pdnp.random.seed(2) # 设置随机种子df = pd.DataFrame(np.random.rand(5, 4),columns=['A', 'B', 'C', 'D']) # 先生成0-1之间的5*4维度数据,再装入4列DataFrame中df.boxplot() # 也可用plot.box()plt.show()
(2)绘制折线图
import matplotlib.pyplot as pltfrom pylab import * # 支持中文mpl.rcParams['font.sans-serif'] = ['SimHei']names = ['5', '10', '15', '20', '25']x = range(len(names))y = [0.855, 0.84, 0.835, 0.815, 0.81]y1 = [0.86, 0.85, 0.853, 0.849, 0.83]plt.plot(x, y, marker='o', mec='r', mfc='w', label=u'y=x^2曲线图')plt.plot(x, y1, marker='*', ms=10, label=u'y=x^3曲线图')plt.xticks(x, names, rotation=45)plt.margins(0)plt.subplots_adjust(bottom=0.15)plt.show()
4. 练习如何通过调整参数使图片呈现不同效果,例如颜色、图例位置、背景网格、坐标轴刻度和标记等
(1)绘制箱线图
import numpy as npimport matplotlib.pyplot as pltimport pandas as pdnp.random.seed(2) # 设置随机种子df = pd.DataFrame(np.random.rand(5, 4),columns=['A', 'B', 'C', 'D']) # 先生成0-1之间的5*4维度数据,再装入4列DataFrame中# df.boxplot() # 也可用plot.box()# plt.show()df.boxplot(sym='r*', vert=False, patch_artist=True,meanline=False, showmeans=True)plt.show()
(2)绘制折线图
import matplotlib.pyplot as pltfrom pylab import * # 支持中文mpl.rcParams['font.sans-serif'] = ['SimHei']names = ['5', '10', '15', '20', '25']x = range(len(names))y = [0.855, 0.84, 0.835, 0.815, 0.81]y1 = [0.86, 0.85, 0.853, 0.849, 0.83]plt.plot(x, y, marker='o', mec='r', mfc='w', label=u'y=x^2曲线图')plt.plot(x, y1, marker='*', ms=10, label=u'y=x^3曲线图')plt.legend() # 让图例生效plt.xticks(x, names, rotation=45)plt.margins(0)plt.subplots_adjust(bottom=0.15)plt.xlabel(u"time(s)邻居") # X轴标签plt.ylabel("RMSE") # Y轴标签plt.title("A simple plot") # 标题plt.show()