2017-09-27 5 views
-1

果物の数と楕円の色を辞書に表示します。 my_dict { 'リンゴ':[20、 '#1 2E9127']、 'ナシ' [3、 '#1 FB9A27']、辞書値を数値と色で表すときの辞書のプロット

例をプロットするために、以下に示すように、私はサンプルコードを見ていた 'cherries':[7、 '#187429']

このように、プロットはその色の#20E9127の20ドットを表示します。

キーは、この時点では、関連するが、VALUE1はなく、カウント数とv2は、六角色 です私はelipse(graph below or click this link)を作るときに、私は20回#2E9127を見たいと思って、3回#FB9A27と7回#187429 。

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.patches import Ellipse 

    NUM = len(my_dict) #but dont want total random dots so thinking this is 
          #sum of value 1 possibly in a loop 


    #example from matplotlib 
    # so clearly dont want random np values 
    ells = [Ellipse(xy=np.random.rand(2) * 10, 
        width=np.random.rand(), height=np.random.rand(), 
        angle=np.random.rand() * 360) 
      for i in range(NUM)] 

    #ME HAVING A CRACK! 
    # 
    ells = [Ellipse(xy=my_dict(2) * 10, 
        width=np.random.rand(), height=np.random.rand(), 
        angle=np.random.rand() * 360,facecolor=y) 
      for i in range(NUM)] 


    fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'}) 
    for e in ells: 
     ax.add_artist(e) 
     e.set_clip_box(ax.bbox) 
     e.set_alpha(np.random.rand()) 
     e.set_facecolor(np.random.rand(3)) 

    ax.set_xlim(0, 10) 
    ax.set_ylim(0, 10) 

    plt.show() 

enter image description here

+0

それは辞書と楕円の関係については明らかではありません。どの楕円がどの色を持つべきですか? 250個の省略記号があり、すべての値の合計が30にすぎないので、この例からも控え目ではありません。 – ImportanceOfBeingErnest

+0

matplotlibのサンプルコードは残念です - – Aza

+0

リストに変換する方が良いかもしれないと思っていました func =() (i、j)for p: func = func +(int i)、j) print(func) – Aza

答えて

1

私が正しく質問を理解していれば、あなたは辞書からの値の合計と同じ数の楕円を描きたいのは与えるだろう。 (20個のリンゴ、7つのチェリー、3個の梨)

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.patches import Ellipse 

my_dict ={'apples': [20, '#2E9127'], 'pears': [3, '#FB9A27'], 'cherries': [7, 'crimson']} 

fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'}) 

for key, val in my_dict.items(): 
    color = val[1] 
    for i in range(val[0]): 
     el = Ellipse(xy=np.random.rand(2) * 10, 
        width=np.random.rand(), height=np.random.rand(), 
        angle=np.random.rand() * 360, color=color) 
     ax.add_artist(el) 


ax.set_xlim(0, 10) 
ax.set_ylim(0, 10) 

plt.show() 

が、私ははっきりとそれらを見ることができることがサクランボが赤く製:

enter image description here

+0

伝説!!それは素晴らしい助けであり、非常に感謝しています – Aza

関連する問題