文章插图
图片
仍然是相同的折线图,但故事更清晰了
6、修改外观为本文的图表添加一些功能 , 可以使其看起来更加专业 。它们将位于所有图表的顶部,并且与本文中使用的数据无关 。
通过下面的代码片段,这些调整将很容易实现 。
读者可以根据自己的需求对其进行调整 , 以创建自己的视觉风格 。
- 边框
- 顶部的红线和矩形
- 标题和副标题
- 来源
- 调整边距
- 设置白色背景
# 移除边框ax.spines[['top','right','bottom']].set_visible(False)# 加粗左侧边框ax.spines['left'].set_linewidth(1.1)# 在顶部添加红线和矩形ax.plot([0.05, .9], [.98, .98], transform=fig.transFigure, clip_notallow=False, color='#E3120B', linewidth=.6)ax.add_patch(plt.Rectangle((0.05,.98), 0.04, -0.02, facecolor='#E3120B', transform=fig.transFigure, clip_notallow=False, linewidth = 0))# 添加标题和副标题ax.text(x=0.05, y=.93, s="Evolution of the 20 Richest Countries GDP over the Past 50 Years", transform=fig.transFigure, ha='left', fnotallow=14, weight='bold', alpha=.8)ax.text(x=0.05, y=.90, s="Focus on the current 5 richest countries from 1973 to 2022", transform=fig.transFigure, ha='left', fnotallow=12, alpha=.8)# 设置来源文本ax.text(x=0.05, y=0.12, s="Source: World Bank - https://databank.worldbank.org/", transform=fig.transFigure, ha='left', fnotallow=10, alpha=.7)# 调整绘图区域周围的边距plt.subplots_adjust(left=None, bottom=0.2, right=None, top=0.85, wspace=None, hspace=None)# 设置白色背景fig.patch.set_facecolor('white')
文章插图
本文的视觉风格应用于图表 , 使其更加整洁
7、点睛之笔为了得到在文章开头介绍的最终结果,剩下要做的就是实现这几个额外的组件:
- 终点标记
- 注释
# 绘制前5条线for country in top_20_countries[:5]:color = colors_dict.get(country, 'grey')# 从字典中获取颜色,如果找不到,默认为黑色line_style = line_styles_dict.get(country, '-')# 从字典中获取线条样式 , 如果找不到,默认为实线data = https://www.isolves.com/it/cxkf/yy/Python/2023-11-13/df[df['Country Name'] == country]line = ax.plot(data['Year'], data['GDP'], color=color, linestyle=line_style, zorder=2, label = country)ax.plot(data['Year'].iloc[-1], data['GDP'].iloc[-1], 'o', color=color, markersize=10, alpha=0.3)ax.plot(data['Year'].iloc[-1], data['GDP'].iloc[-1], 'o', color=color, markersize=5)# 在图表上添加一些文字ax.annotate('During the 2000s,nChina began experiencing rapid economic growth,noutpacing all other countries.',(data['Year'].iloc[-18], 2000000000000),xytext=(data['Year'].iloc[-28]-timedelta(days=500), 18000000000000),ha='left', fnotallow=9, arrowprops=dict(arrowstyle='-|>', facecolor='k', cnotallow="arc3,rad=-0.15"))
文章插图
图片
最终成果:这个折线图清晰易读
8、结语本文分享了使用Matplotlib绘制折线图的知识,同时提供了实用可重复使用的代码片段 。
【轻松玩转Python,五个步骤打造惊艳的折线图】
推荐阅读
- MySQL数据删除绝招,轻松搞定数据清除
- 掌握Python的解包技巧:*和**的最全用法
- 避免Python乱码陷阱:字符编码详解
- 从零到SQL注入防护大师,打造安全的Python应用程序
- 轻松快速剥石榴过程 轻松快速剥石榴过程图片
- 懒人瘦肚子的最快方法 懒人瘦肚子的最快方法,只需三个动作,就能轻松瘦!
- 新凉鞋磨脚怎么办 8个小妙招轻松就解决 新买的凉鞋磨脚如何办
- 海清,轻松减重20斤,附有三餐食谱和3个技巧,你也能90斤
- “脂肪”最怕这个菜,两天吃一次,清甜脆爽,轻松刮油,比肉还香
- 如何轻松除去地面毛发 如何轻松除去地面毛发味道