优秀的编程知识分享平台

网站首页 > 技术文章 正文

Day162:数据可视化呈现(数据可视化呈现和解读)

nanyue 2024-08-08 18:46:17 技术文章 11 ℃
# 1、数据可视化呈现的最基础图形就是:柱状图、水平条形图、折线图等等;  
#   在python的matplotlib库中分别可用bar、barh、plot函数来构建它们,再使用xticks与yticks(设置坐标轴刻度)、
#   title(标题)、legend(图例)、xlim与ylim(设置坐标轴数据范围)、grid(设置网格线)、
#     xlabel与ylabel(设置坐标轴标签)等命令来装饰图形,还可以在图形中添加文字说明的命令—text,利用这个命令,在图中
#     每个单位要素中添加相应文字,来构造数字标签

import matplotlib.pyplot as plt
import numpy as np

# 创建带数字标签的直方图
numbers = list(range(1, 11))
# np.array()将列表转换为存储单一数据类型的多维数组
x = np.array(numbers)
y = np.array([a ** 2 for a in numbers])
print(x)
print(y)

plt.bar(x, y, width=0.5, align='center', color='c')     # 柱状图
plt.title('Square Numbers', fontsize=24)                # 标题
plt.xlabel('Value', fontsize=14)
plt.ylabel('Square of Value', fontsize=14)
plt.tick_params(axis='y', labelsize=14) # 设置刻度的大小,可选{‘x’, y’,‘both’} ,选择对哪个轴操作,默认是’both’
plt.axis([0, 11, 0, 110])                                # x轴与y轴坐标刻度范围

for a, b in zip(x, y):
    plt.text(a, b + 0.1, '%.0f' % b, ha='center', va='bottom', fontsize=7)
plt.savefig(r'images\squares.png')
plt.show()
# 前边设置的x、y值其实就代表了不同柱子在图形中的位置(坐标),通过for循环找到每一个x、y值的相应坐标——a、b,
# 再使用plt.text在对应位置添文字说明来生成相应的数字标签,而for循环也保证了每一个柱子都有标签。其中,a, b+0.1表示
# 在每一柱子对应x值、y值上方0.05处标注文字说明,'%.0f' % b,代表标注的文字,即每个柱子对应的y值,其中0表示不显示小数
# 后面的数值,1就表示显示小数后面一位,以此类推; ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、
# verticalalignment(垂直对齐)的方式,fontsize则是文字大小。

# 条形图、折线图也是如此设置,饼图则在pie命令中有数据标签的对应参数。对于累积柱状图、双轴柱状图则需要用两个for循环,
# 同时通过a与b的不同加减来设置数据标签位置。


Tags:

最近发表
标签列表