帮我写一个基于pandas numpy 库和python语言进行数据处理 最后并用Matplotlib库来进行可视化。首先要读取在 D大學大二下學期數據可視化期末作業數據整理被引次數xlsx里的excel檔数据并对档案中的被引频次进行大到小的排序并抽出排在前十的数据可视化图上要显示中文字符X轴上显示数据的序号以上数据用柱状图进行可视化。第二从抽取的被引频次前十数据中显示其年份並进行可视化用散點图
好的,下面是根据你的要求编写的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取Excel数据
data = pd.read_excel(r"D:\大學\大二\下學期\數據可視化\期末作業\數據整理\被引次數.xlsx")
# 对被引频次进行排序
sorted_data = data.sort_values(by="被引频次", ascending=False)
# 抽取前十的数据
top_10_data = sorted_data.head(10)
# 绘制柱状图
plt.figure(figsize=(10, 6))
plt.bar(top_10_data.index, top_10_data["被引频次"])
plt.xlabel("序号")
plt.ylabel("被引频次")
plt.title("被引频次前十数据")
plt.xticks(top_10_data.index, top_10_data["序号"], rotation=45)
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文字符
plt.show()
# 提取前十数据的年份
years = top_10_data["年份"]
# 绘制散点图
plt.figure(figsize=(10, 6))
plt.scatter(top_10_data.index, years, c='r')
plt.xlabel("序号")
plt.ylabel("年份")
plt.title("前十数据的年份")
plt.xticks(top_10_data.index, top_10_data["序号"], rotation=45)
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文字符
plt.show()
# 合并柱状图和散点图
plt.figure(figsize=(10, 6))
plt.bar(top_10_data.index, top_10_data["被引频次"], color='b')
plt.scatter(top_10_data.index, years, c='r')
plt.xlabel("序号")
plt.ylabel("被引频次/年份")
plt.title("被引频次前十数据及其年份")
plt.xticks(top_10_data.index, top_10_data["序号"], rotation=45)
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文字符
plt.show()
请确保你的电脑上已经安装了所需的库,并将Excel文件路径替换为你的文件路径。希望对你有帮助
原文地址: http://www.cveoy.top/t/topic/hyTf 著作权归作者所有。请勿转载和采集!