Python 数据可视化:使用 Pandas、Numpy 和 Matplotlib 分析并可视化被引频次数据
以下是基于 pandas、numpy 和 matplotlib 库的数据处理和可视化代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取 Excel 文件
data = pd.read_excel(r'D:\大學\大二\下學期\數據可視化\期末作業\數據整理\被引次數.xlsx')
# 对'被引频次'进行排序并抽取前十条数据
top_ten = data.sort_values(by='被引频次', ascending=False).head(10)
# 可视化排名前十的数据
plt.figure(figsize=(10, 6))
plt.bar(top_ten.index, top_ten['被引频次'], color='blue')
plt.xlabel('序号')
plt.ylabel('被引频次')
plt.xticks(top_ten.index, top_ten['序号'], rotation=45, ha='right')
plt.title('排名前十的数据')
plt.show()
# 提取排名前十的年份数据
years = top_ten['年份']
# 可视化年份数据
plt.figure(figsize=(10, 6))
plt.bar(top_ten.index, years, color='red')
plt.xlabel('序号')
plt.ylabel('年份')
plt.xticks(top_ten.index, top_ten['序号'], rotation=45, ha='right')
plt.yticks(np.arange(2012, 2023))
plt.title('排名前十的年份数据')
plt.show()
# 合并柱状图
fig, ax1 = plt.subplots(figsize=(10, 6))
ax2 = ax1.twinx()
# 绘制被引频次柱状图
ax1.bar(top_ten.index, top_ten['被引频次'], color='blue')
ax1.set_xlabel('序号')
ax1.set_ylabel('被引频次')
ax1.set_xticks(top_ten.index)
ax1.set_xticklabels(top_ten['序号'], rotation=45, ha='right')
# 绘制年份柱状图
ax2.bar(top_ten.index, years, color='red')
ax2.set_ylabel('年份')
ax2.set_yticks(np.arange(2012, 2023))
plt.title('排名前十的数据与年份')
plt.show()
请注意,根据实际情况,你可能需要调整 Excel 文件的路径和列名。
原文地址: https://www.cveoy.top/t/topic/o1Bo 著作权归作者所有。请勿转载和采集!