首先,我们需要导入 NumPy 和 Matplotlib 库:

import numpy as np
import matplotlib.pyplot as plt

接下来,我们可以将文献来源和发表总数分别存储在两个 NumPy 数组中:

sources = np.array(['图书馆学刊', '内蒙古科技与经济', '图书馆学研究', '大学图书情报学刊', '农业图书情报', '图书馆工作与研究', '河南图书馆学刊', '情报探索', '图书情报导刊', '图书馆研究与工作', '数字图书馆论坛', '图书馆界', '电脑知识与技术', '国家图书馆学刊', '高校图书馆工作', '科技信息', '图书馆研究', '办公室业务', '江苏科技信息', '图书馆理论与实践', '图书馆论坛', '西部学刊', '兰台世界', '大学图书馆学报', '全国中小型公共图书馆联合会2015年研讨会会议论文集', '图书情报工作', '佳木斯职业学院学报', '出版广角', '新疆衣垦科技', '四川图书馆学报'])
counts = np.array([7, 6, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1])

然后,我们可以使用 NumPy 的 argsort 函数对发表总数进行降序排列,并取出前十个:

indices = np.argsort(-counts)[:10]  # 返回发表总数降序排列的索引,[:10]表示取前十个
top_sources = sources[indices]  # 取出前十个文献来源
top_counts = counts[indices]  # 取出前十个发表总数

最后,我们可以使用 Matplotlib 库来绘制柱状图:

plt.bar(top_sources, top_counts)
plt.title('Top 10 Sources by Publication Count')
plt.xlabel('Source')
plt.ylabel('Publication Count')
plt.show()

完整代码如下:

import numpy as np
import matplotlib.pyplot as plt

sources = np.array(['图书馆学刊', '内蒙古科技与经济', '图书馆学研究', '大学图书情报学刊', '农业图书情报', '图书馆工作与研究', '河南图书馆学刊', '情报探索', '图书情报导刊', '图书馆研究与工作', '数字图书馆论坛', '图书馆界', '电脑知识与技术', '国家图书馆学刊', '高校图书馆工作', '科技信息', '图书馆研究', '办公室业务', '江苏科技信息', '图书馆理论与实践', '图书馆论坛', '西部学刊', '兰台世界', '大学图书馆学报', '全国中小型公共图书馆联合会2015年研讨会会议论文集', '图书情报工作', '佳木斯职业学院学报', '出版广角', '新疆衣垦科技', '四川图书馆学报'])
counts = np.array([7, 6, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1])

indices = np.argsort(-counts)[:10]  # 返回发表总数降序排列的索引,[:10]表示取前十个
top_sources = sources[indices]  # 取出前十个文献来源
top_counts = counts[indices]  # 取出前十个发表总数

plt.bar(top_sources, top_counts)
plt.title('Top 10 Sources by Publication Count')
plt.xlabel('Source')
plt.ylabel('Publication Count')
plt.show()

运行后,会出现如下图所示的柱状图:

top_10_sources.png

基于 NumPy 和 Matplotlib 的文献来源发表数量可视化分析

原文地址: https://www.cveoy.top/t/topic/oYNy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录