我想创建 Likert 规模的 Python。我有 xlsx 或 csv 文件来生成 Likert 规模的 Python(列是问题,行是答案)。如何使用下面的代码链接文件。
rng = np.random.default_rng(seed=42)
data = pd.DataFrame(rng.choice(plot_likert.scales.agree, (200, 2)), columns=['Q1', 'Q2'])
ax = plot_likert.plot_likert(data, plot_likert.scales.agree, plot_percentage=True, figsize=(14, 4))
for bars, color in zip(ax.containers[1:], ['white'] + ['black'] * 2 + ['white'] * 2):
ax.bar_label(bars, label_type='center', fmt='%.1f %%', color=color, fontsize=15)
我是Python新手。我想创建 Likert 规模的 Python,并在图中显示百分比。
简短回答:您缺少
matplotlib.pyplot.show()
出于某种原因,plot_likert库的快速入门文档没有提到它,但它不会显示图表,除非你包含
show
调用,这是我在用户指南中学到的,并且只是在“更高级的情节”部分中提到。奇怪的是,该库本身似乎没有显示绘图的实用程序,您必须另外导入 matplotlib。我不怪你糊涂
这是代码的最小修改版本,可以运行并显示绘图。
import numpy as np
import pandas as pd
import plot_likert
import matplotlib.pyplot as plt
rng = np.random.default_rng(seed=42)
data = pd.DataFrame(rng.choice(plot_likert.scales.agree, (200, 2)), columns=['Q1', 'Q2'])
ax = plot_likert.plot_likert(data, plot_likert.scales.agree, plot_percentage=True, figsize=(14, 4));
for bars, color in zip(ax.containers[1:], ['white'] + ['black'] * 2 + ['white'] * 2):
ax.bar_label(bars, label_type='center', fmt='%.1f %%', color=color, fontsize=15)
plt.show()
如果您有任何疑问,请告诉我。