各位朋友大家好,今天给大家带来文献计量学的知识和全代码,文献计量学是属于一门边缘学科,交叉科学。我在网上浏览了一下,用R和专属工具做的已经有老师进行了展示,python的还没有所以在这里给大家一个全面的展示
下面把全代码给大家:
import metaknowledge as mk
import pandas
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotlib inline
get_ipython().magic("config InlineBackend.figure_format = 'retina'")
sns.set_style(style="white") # change the default background plot colour
sns.set(font_scale=.75)
plt.rc("savefig", dpi=400) # improve default resolution of graphics
#交互作图库
import chart_studio.plotly as py
import plotly.graph_objs as go
#导入文献检索
import os
os.chdir('E:/pythoncode2021/metaknowledge')
RC = mk.RecordCollection('raw_data/imetrics/', cached = True)
len(RC)
RC.writeCSV('generated_datasets/reco.csv')
##
RC1314 = RC.yearSplit(2013, 2014)
gender_breakdown = RC1314.genderStats()
gender_breakdown
##
print(RC.glimpse())
##
df = pandas.DataFrame(RC.makeDict())
selectedVars = df[['AF', 'AB', 'PY', 'TI', 'SO', 'num-Authors', 'TC']]
selectedVars[:10] # show the first 10 rows.
df.columns.values.tolist()
top_40 = selectedVars.sort_values(['TC'], ascending = False)[:40]
top_40.head()
trace = go.Bar(
x=top_40['TI'],
y=top_40['TC']
)
data = [trace]
layout = go.Layout(
yaxis=dict(
title='Times Cited',
)
)
fig = go.Figure(data=data, layout=layout)
#py.iplot(fig, filename='times-cited')
#import plotly.io as pio
#pio.renderers.default='notebook'
#fig.show()
from plotly.offline import plot
plot(fig)
#把每篇文章进行题目的缩小
top_40['short_title'] = top_40['TI'].str[:20]
top_40[['TI', 'short_title', 'TC']].head()
#画图
with sns.axes_style("white"):
horizontal_bar = sns.barplot(data = top_40, x = 'TC', y = 'short_title', color = 'gray')
horizontal_bar.set(xlabel='Number of Citations', ylabel='')
sns.despine(left = True, right = True, bottom = True, top = True)
plt.tight_layout()
plt.savefig('figures/horizontal_barplot.png')
plt.savefig('figures/horizontal_barplot.pdf')
#[2:] removes incomplete data from 2016
growth = pandas.DataFrame(RC.timeSeries('year', outputFile = 'generated_datasets/growth.csv'))[2:]
growth[:10]
with sns.axes_style("white"):
plt.plot(growth['year'], growth['count'], color