当前位置:   article > 正文

实验三图表样式的美化_python图表样式的美化 练习题

python图表样式的美化 练习题

1. 考察图表样式美化中颜色、线型、数据标记等知识点

编写程序。已知2018年、2019年物流行业的快递业务量如下表所示:

月份

2018年业务量

2019年业务量

1

39

45

2

20

28

3

40

48

4

38

49

5

42

50

6

43

51

7

41

50

8

41

50

9

45

51

10

48

52

11

52

70

12

50

65

根据表中数据,按照以下要求绘制图表

  1. 绘制反映2018年、2019年快递业务趋势的折线图;
  2. 设置折线图的x轴为月份,y轴为业务量,y轴的标签为“业务量(亿件)”,添加图例;
  3. 设置代表2018年的折线的样式:颜色为“#8B0000”,数据标记为正三角形,线型为长虚线,线宽为1.5;
  4. 设置代表2019年的折线的样式:颜色为“#006374”,数据标记为长菱形,线型为实线,线宽为1.5;
  5. 分别为两条折线添加无指向型注释文本。

代码如下:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. plt.rcParams['font.sans-serif'] = ['SimHei']
  4. plt.rcParams['axes.unicode_minus'] = False
  5. eurcny_2018 = np.array([39, 20, 40, 38, 42, 43, 41, 41, 45, 48, 52, 50])
  6. eurcny_2019 = np.array([45, 28, 48, 49, 50, 51, 50, 50, 51, 52, 70, 65])
  7. data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
  8. plt.plot(data, eurcny_2018, color='#8B0000', marker='^', linestyle='--', linewidth=1.5, label='2018年')
  9. plt.text(11.5, 62, '2019年', weight='bold', color='#006374')
  10. plt.plot(data, eurcny_2019, color='#006374', marker='d', linestyle='-', linewidth=1.5, label='2019年')
  11. for a in range(0, 12):
  12. plt.text(data[a], eurcny_2018[a] + 1, eurcny_2018[a], ha='center', va='bottom', fontsize=10, color="r")
  13. plt.text(data[a], eurcny_2019[a] + 1, eurcny_2019[a], ha='center', va='bottom', fontsize=10, color="g")
  14. plt.text(11.5, 47, '2018年', weight='bold', color='#8B0000')
  15. plt.title('2018年、2019年快递业务趋势的折线图')
  16. plt.xlabel('月份')
  17. plt.ylabel('业务量(亿件)')
  18. plt.legend()
  19. plt.show()

2. 考察知识点设置线条的样式,填充曲线之间的区域

编写程序。自定义一定范围,绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:

  1. 正弦曲线的样式:红色,线宽为1.0;
  2. 余弦曲线的样式:蓝色,线宽为1.0,透明度为0.5;
  3. x轴的刻度标签为-Π,-Π/2,0,Π/2,Π;
  4. 在x=1,y=np.cos(1)的位置添加无指向型注释文本;
  5. 将正弦曲线位于余弦曲线上方的区域填充一种颜色,将正弦曲线位于余弦曲线下方的区域填充为另外一种颜色,透明度均为0.5。

代码如下: 

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. plt.rcParams['font.sans-serif'] = ['SimHei']
  4. plt.rcParams['axes.unicode_minus'] = False
  5. x = np.linspace(-np.pi, np.pi, 512, endpoint=True)
  6. y1 = np.sin(x)
  7. y2 = np.cos(x)
  8. plt.plot(x, y1, color='r', linewidth=1.0)
  9. plt.plot(x, y2, color='b', linewidth=1.0, alpha=0.5)
  10. plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi], [r'-$\pi$', r'-$\pi/2$', '0', r'$\pi/2$', r'$\pi$'])
  11. plt.text(1, np.cos(1), '你的文本', weight='bold', color='b')
  12. plt.fill_between(x, y2, y1, y2 < y1, color='g', alpha=0.5)
  13. plt.fill_between(x, y2, y1, y2 > y1, color='b', alpha=0.5)
  14. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/681763
推荐阅读
相关标签
  

闽ICP备14008679号