import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 为了在无中文字体环境的服务器上正确显示,设置字体
# plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.rcParams['axes.unicode_minus'] = False
# 模拟数据
# Mock data for demonstration purposes
data = {
'Source': ['家人/朋友', '专业顾问', '公共来源 (新闻/评测)', '个人经验', '商业来源 (广告/官网)'],
'Trustworthiness': [8.5, 8.2, 7.5, 7.0, 5.5]
}
df = pd.DataFrame(data)
# 使用更现代和清晰的风格
plt.style.use('seaborn-v0_8-whitegrid')
fig, ax = plt.subplots(figsize=(10, 6))
# 创建条形图
barplot = sns.barplot(x='Trustworthiness', y='Source', data=df.sort_values('Trustworthiness', ascending=False),
palette='viridis_r', ax=ax)
# 添加数据标签
for i in ax.containers:
ax.bar_label(i, fmt='%.1f', fontsize=12, padding=3)
# 设置图表标题和标签
ax.set_title('金融决策中不同信息来源的可信度', fontsize=18, pad=20)
ax.set_xlabel('可信度评分 (1-10)', fontsize=14)
ax.set_ylabel('信息来源', fontsize=14)
ax.set_xlim(0, 10)
ax.tick_params(axis='both', which='major', labelsize=12)
# 移除不必要的边框
sns.despine(left=True, bottom=True)
plt.tight_layout()
plt.show()