实验目的:
- 掌握Python中棒图、散点图绘图函数的使用及展示图形的意义
- 利用上述绘图函数实现数据可视化
实验内容:
- 练习python中棒图、散点图绘图函数的用法,掌握相关参数的概念
- 根据步骤一绘图函数要求,处理实验数据
- 根据步骤二得到的实验数据,绘制棒图、散点图
- 练习如何通过调整参数使图片呈现不同效果,例如颜色、图例位置、背景网格、坐标轴刻度和标记等
实验过程(附结果截图):
1. 练习python中棒图、散点图绘图函数的用法,掌握相关参数的概念
(1)绘制棒图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = 'FangSong'
a = np.linspace(0, 10, 20)
b = np.random.randn(20)
x, y, z = plt.stem(a, b, markerfmt="o", linefmt="-.", basefmt="--")
plt.setp(x, color='k')
plt.show()
(2)绘制散点图
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\\Windows\\Fonts\\simhei.ttf", size=14)
xValue = list(range(0, 101))
yValue = [x * np.random.rand() for x in xValue]
plt.title(u'散点图示例', FontProperties=font)
plt.xlabel('x-value')
plt.ylabel('y-label')
plt.legend()
plt.scatter(xValue, yValue, s=20, c="#ff1212", marker='o')
plt.show()
2. 根据步骤一绘图函数要求,处理实验数据
(1)实验数据
a = np.linspace(0.5, 2*np.pi, 20)
b = np.random.randn(20)
3. 根据步骤二得到的实验数据,绘制棒图、散点图
(1)绘制棒图
import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(0.5, 2*np.pi, 20)
b = np.random.randn(20)
plt.stem(a, b)
plt.show()
(2)绘制散点图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(xmax=9, xmin=0)
plt.ylim(ymax=9, ymin=0)
x1 = np.random.normal(2, 1.2, 300)
y1 = np.random.normal(2, 1.2, 300)
x2 = np.random.normal(7.5, 1.2, 300)
y2 = np.random.normal(7.5, 1.2, 300)
colors1 = '#00CED1'
colors2 = '#DC143C'
area = np.pi * 4**2
plt.scatter(x1, y1, s=area, c=colors1, alpha=0.4, label='类别A')
plt.scatter(x2, y2, s=area, c=colors2, alpha=0.4, label='类别B')
plt.plot([0, 9.5], [9.5, 0])
plt.legend()
plt.show()
4. 练习如何通过调整参数使图片呈现不同效果,例如颜色、图例位置、背景网格、坐标轴刻度和标记等
(1)绘制棒图
import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(0.5, 2*np.pi, 20)
b = np.random.randn(20)
plt.stem(a, b, linefmt="-.", markerfmt="o", basefmt="-")
plt.show()
(2)绘制散点图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(xmax=9, xmin=0)
plt.ylim(ymax=9, ymin=0)
x1 = np.random.normal(2, 1.2, 300)
y1 = np.random.normal(2, 1.2, 300)
x2 = np.random.normal(7.5, 1.2, 300)
y2 = np.random.normal(7.5, 1.2, 300)
colors1 = '#00CED1'
colors2 = '#DC143C'
area = np.pi * 4**2
plt.scatter(x1, y1, s=area, c=colors1, alpha=0.4, label='类别A')
plt.scatter(x2, y2, s=area, c=colors2, alpha=0.4, label='类别B')
plt.plot([0, 9.5], [9.5, 0], linewidth='0.5', color='#000000')
plt.legend()
plt.show()
实验小结自己写写就行,本实验仅供参考。