前提・実現したいこと
以下のdataframeの散布図を描画したいです。
|index|"出願者"|"出願年"|"count"|
|:--|:--:|--:|
|0|●●さん|2000|3|
|1|××さん|1998|2|
|2|△△さん|2005|1|
インデックスは90まであります。
画像中の0,20,40,...の部分を出願者(文字列)にして、yearを左から1998,2000,...(跳んでるとことは無視)にしたいです。プロットの大きさに"count"の数値を影響させています。
エクセルファイルからカラムを指定し読み取った値をdataframeに入れているのですがその部分は省いてソースを書きました。ソース中のresがdataframeです。
発生している問題・エラーメッセージ
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
該当のソースコード
python
1import pandas as pd 2import os 3import matplotlib.pyplot as plt #Visulization 4import seaborn as sns #Visulization 5import numpy as np 6 7res = res.sort_values(by='count', ascending=True).reset_index(drop = True) 8year_plot = res["出願年"] 9person_plot = res.index+1 10sum_plot = res["count"] 11person_name_plot = res["出願者"] 12fig = plt.figure(figsize=(15, 5)) 13ax = fig.add_subplot(111) 14ax.set_title('number of patent', fontsize = 15) 15ax.set_xlabel('year', fontsize =12) 16ax.set_ylabel('Applicant', fontsize = 12) 17ax.scatter(year_plot, person_plot, s=50*sum_plot, 18 c=person_plot, cmap="plasma_r", alpha=0.75) 19 20plt.show()
試したこと
y軸目盛をindexから出願者に置き換えようと以下コードを追加したらエラーが出た。
ax.set_yticks(person_plot, person_name_plot)
補足情報(FW/ツールのバージョンなど)
python3.7
spyder4.1.3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 23:25