years:这是一个数组或列表,包含你要绘制的时间点(如年份)。是 x 轴的值。
urban_tourists:这是一个数组或列表,包含 ‘城镇居民国内游客’ 在每个时间点的值。这些值将作为第一层堆积。
rural_tourists:这是一个数组或列表,包含 ‘农村居民国内游客’ 在每个时间点的值。这些值将作为第二层堆积,堆叠在 urban_tourists 的上面。
labels:这是一个包含标签的列表,用于标识堆积图中的每一层。这里分别是 ‘城镇居民国内游客’ 和 ‘农村居民国内游客’。
colors:这是一个包含颜色的列表,用于指定每一层的颜色。这里分别是蓝色和绿色。
在 Matplotlib 中,也可以使用 plt.figtext 或 plt.annotate 方法来添加脚注。脚注通常用于提供图表的额外信息,如数据来源、注释等。以下是 plt.figtext 的语法和参数详细说明:
plt.figtext(x, y, s, fontdict=None, **kwargs)
x:浮点数,表示文本的 x 坐标(相对于整个 figure)。0表示figure的左边缘,1表示右边缘。
y:浮点数,表示文本的 y 坐标(相对于整个 figure)。0表示figure的下边缘,1表示上边缘。
s:字符串,要显示的文本字符串。
fontdict:字典,包含文本属性的字典,如 {'fontsize': 12, 'color': 'red'}。如果未指定,则使用默认属性。
**kwargs:关键字参数,允许设置更详细的文本属性,如颜色、字体大小、对齐方式等。支持的参数包括:
fontsize:文本的字体大小。
color:文本的颜色。
ha:文本的水平对齐方式(‘left’、‘center’、‘right’)。
va:文本的垂直对齐方式(‘top’、‘center’、‘bottom’)。
fontfamily:文本的字体系列。
fontstyle:文本的字体样式(‘normal’、‘italic’、‘oblique’)。
fontweight:文本的字体粗细(‘normal’、‘bold’)。
alpha:文本的透明度(0 到 1 之间的浮点数)。
rotation:文本的旋转角度(角度值)。
plt.figtext是Matplotlib中用于在整个figure内添加文本的函数。它允许你在图表的任意位置添加文本,而不仅仅是轴内。
plt.annotate是Matplotlib中一个非常强大的函数,用于在图表上添加注释和指向特定点的箭头。它提供了一种灵活的方式来强调图表中的特定数据点,并提供额外的解释或信息。plt.annotate 的基本语法如下:
plt.annotate(s, xy, xytext=None, arrowprops=None, **kwargs)
s:要显示的注释文本。
xy:被注释点的坐标,即箭头指向的位置。
xytext:注释文本的位置。如果不指定,文本将放置在 xy 位置。
arrowprops:箭头的属性,如颜色、样式等。
如plt.annotate('重要点', xy=(3, 5), xytext=(3.5, 6), arrowprops=dict(facecolor='black', shrink=0.05))中:
xy=(3, 5):这是被注释的点的坐标。在这个例子中,是我们数据中的第三个点 (3,5)。
xytext=(3.5, 6):这是注释文本的实际位置。通过设置xytext,我们可以控制文本显示的位置,使其不会与数据点重叠或相互干扰。
arrowprops=dict(facecolor='black', shrink=0.05):这定义了箭头的外观。facecolor 设置箭头的颜色,shrink 控制箭头与xy和xytext点之间的距离。如果不想使用箭头,可以省略 arrowprops。plt.annotate 提供了丰富的功能来在图表上添加注释和箭头,从而可视化更具表现力和信息量。通过调整各个参数,可以精确控制注释的位置、外观和行为,以满足不同的展示需求,具体的呈现效果大家可以自行根据需求去设置。
这里折线图非常适合展示随时间变化的数据趋势。通过连接每个年份的游客数量,可以直观地看到国内游客总数的增减情况。堆积面积图展示了城镇和农村游客的具体分布,而折线图则展示了两者的总和。这种组合方式可以同时展示部分和整体的关系,使图表更具信息性和可读性。