当前位置:   article > 正文

视频讲解:优化柱状图

视频讲解:优化柱状图

你好,我是郭震

AI数据可视化 第三集:美化柱状图,完整视频如下所示:

美化后效果前后对比,前:

af6b89a31fd964ac7c73f1d3f4308c2b.png

后:f49a7d141a60a6a7a4accb5052bed542.png

附完整案例源码:

util.py文件

  1. import platform
  2. def get_os():
  3.     os_name = platform.system()
  4.     if os_name == 'Windows':
  5.         return "Windows"
  6.     elif os_name == 'Darwin':
  7.         return "macOS"
  8.     else:
  9.         return "Unknown OS"

优化后的柱状图,完整源码:

  1. import matplotlib.pyplot as plt
  2. from matplotlib.font_manager import FontProperties
  3. # 根据操作系统设置字体
  4. from util import get_os
  5. system_type = get_os()
  6. if system_type == 'Windows':
  7.     font = FontProperties(fname="C:\\Windows\\Fonts\\msyh.ttc", size=14)  # 注意路径分隔符的转义
  8. elif system_type == 'macOS':
  9.     font = FontProperties(fname="/System/Library/Fonts/PingFang.ttc", size=14)
  10. # 咖啡店及其销售额数据
  11. coffee_shops = ['咖啡店A''咖啡店B''咖啡店C''咖啡店D''咖啡店E']
  12. sales = [12001500180016002000]
  13. # 自定义颜色列表
  14. colors = ['#307EC7''#AA4643''#89A54E''#71588F''#4198AF']
  15. plt.figure(figsize=(106))
  16. # 设置图表背景为科技黑
  17. plt.gca().set_facecolor('#2B2B2B')
  18. plt.gcf().set_facecolor('#2B2B2B')
  19. bars = plt.bar(coffee_shops, sales, color=colors, edgecolor='#EEEEEE')  # 设置柱子边框为亮色
  20. # 在柱子顶部添加数据标签
  21. for bar in bars:
  22.     yval = bar.get_height()
  23.     plt.text(bar.get_x() + bar.get_width()/2, yval + 50, yval, ha='center', va='bottom', color='#FFFFFF', fontproperties=font)  # 数据标签颜色改为白色
  24. # 设置网格线样式
  25. plt.grid(color='#555555', linestyle='--', linewidth=0.5, axis='y', zorder=0, alpha=0.7)
  26. # 设置标签和标题颜色为亮色
  27. plt.xticks(ticks=range(len(coffee_shops)), labels=coffee_shops, fontproperties=font, color='#FFFFFF')
  28. plt.xlabel('咖啡店', fontproperties=font, color='#FFFFFF')
  29. plt.ylabel('销售额(美元)', fontproperties=font, color='#FFFFFF')
  30. plt.title('某小镇咖啡店一周销售额对比', fontproperties=font, color='#FFFFFF')
  31. plt.yticks(fontsize=14, color='#FFFFFF')
  32. # 设置图例,调整图例的背景和文字颜色
  33. legend = plt.legend(bars, coffee_shops, prop=font)
  34. frame = legend.get_frame()
  35. frame.set_color('#2B2B2B')  # 图例背景色
  36. frame.set_edgecolor('#EEEEEE')  # 图例边框色
  37. plt.setp(legend.get_texts(), color='#FFFFFF')  # 图例文字颜色
  38. plt.tight_layout()
  39. plt.show()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/109589
推荐阅读
相关标签
  

闽ICP备14008679号