请用我给你的字段给出专利合作与转让分析绘制合作伙伴关系图的python代码
时间: 2024-02-04 16:03:42 浏览: 49
好的,以下是使用Python绘制专利合作与转让分析的合作伙伴关系图的代码示例,其中包含您提供的字段:
```python
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
# 读取数据集
patent_data = pd.read_csv('patent_data.csv', usecols=['公开(公告)日', '申请日', '专利类型', 'IPC主分类', '申请人', '发明人', '引证专利', '被引证专利', '转让次数', '转让人', '受让人'])
# 创建空的有向图
G = nx.DiGraph()
# 添加节点
for i in range(len(patent_data)):
G.add_node(patent_data.iloc[i]['申请人'])
G.add_node(patent_data.iloc[i]['受让人'])
G.add_node(patent_data.iloc[i]['转让人'])
# 添加边
for i in range(len(patent_data)):
if pd.notna(patent_data.iloc[i]['受让人']):
G.add_edge(patent_data.iloc[i]['转让人'], patent_data.iloc[i]['受让人'])
if pd.notna(patent_data.iloc[i]['申请人']):
G.add_edge(patent_data.iloc[i]['申请人'], patent_data.iloc[i]['受让人'])
# 绘制图形
plt.figure(figsize=(15, 15))
pos = nx.spring_layout(G, k=0.15, iterations=30)
nx.draw_networkx_nodes(G, pos, node_size=120, node_color='royalblue')
nx.draw_networkx_edges(G, pos, width=1, alpha=0.8, edge_color='gray')
nx.draw_networkx_labels(G, pos, font_size=8, font_family='Arial')
plt.axis('off')
plt.show()
```
请将数据集文件名改为您实际使用的文件名。此代码使用了pandas、networkx和matplotlib.pyplot库,其中节点为专利申请人、受让人和转让人,边表示转让关系或申请人与受让人之间的合作关系。
请注意,此代码示例仅包含了您提供的一部分字段,如果需要进行更复杂的数据分析,可能需要进行更多的数据预处理和清理,同时您可以根据需要选择不同的库和工具来进行专利数据分析和可视化。