python数据可视化技巧的100个练习 -- 30. 创建调查结果的棒棒糖图
你是一家公司的数据分析师,该公司最近进行了一项调查,以衡量客户对各种服务的满意度。你的任务是使用棒棒糖图可视化调查结果,清晰地展示满意度水平。根据以下调查结果创建一个棒棒糖图:“Service A” - 85,“Service B” - 90,“Service C” - 75,“Service D” - 80,“Service E” - 95。请使用 Python 进行数据处理和可视化。你的解决方案应包括生成样本数据和创建棒棒糖图。【数据生成代码示例】
import pandas as pdservices = ['Service A', 'Service B', 'Service C', 'Service D', 'Service E']scores = [85, 90, 75, 80, 95]survey_data = pd.DataFrame({'Service': services, 'Score': scores})
【图表答案】
【代码答案】
import matplotlib.pyplot as pltimport pandas as pdservices = ['Service A', 'Service B', 'Service C', 'Service D', 'Service E']scores = [85, 90, 75, 80, 95]survey_data = pd.DataFrame({'Service': services, 'Score': scores})fig, ax = plt.subplots()ax.stem(survey_data['Service'], survey_data['Score'])ax.set_xlabel('服务')ax.set_ylabel('满意度得分')ax.set_title('客户满意度调查结果')plt.show()
首先,导入必要的库:用于数据操作的 pandas 和用于绘图的 matplotlib。我们定义了两个列表:services 包含服务名称,scores 包含相应的满意度得分。然后,我们将这些列表转换为 pandas DataFrame,以便于数据处理。接下来,我们使用 matplotlib 的 stem 函数创建棒棒糖图。这种类型的可视化非常适合,因为它从基线绘制到数据点的垂直线。我们通过设置 x 轴和 y 轴的标签以及图表标题来自定义图表。【小知识】
棒棒糖图是条形图的替代品,通常用于突出显示个别数据点。Matplotlib 中的 stem 函数专门用于创建棒棒糖图,并且可以广泛自定义。