52

散布図のマーカーのこの例では、色を緑、エッジの色を黒、ハッチングを「|」に設定しています。ハッチングパターンを表示するには、エッジカラーを設定する必要がありますが、設定すると、マーカーの周囲に非常に太い境界線が表示されます。2つの質問:

1)この境界線のサイズ(できれば0)を設定するにはどうすればよいですか?

2)ハッチラインの太さを増やすにはどうすればよいですか?

4

2 に答える 2

75
  1. linewidthマーカーの境界線の太さを制御するには、 を設定するだけです。
  2. シンボルを繰り返すことで、ハッチングの密度を高めることができます (以下の例で'|'は、R/H ペインで繰り返されます。NW->SE 対角線を取得するには、シンボルをエスケープする必要があるため、実際には 2 倍の文字数が必要になることに注意してください)。 2 倍'\\\\'の密度 2 であり'||||'、密度 4 です)。ただし、ハッチング内の個々の線の太さを制御できるとは思いません。

次のような散布図を作成するには、次のコード例を参照してください。 ハッチング コントロールの例

import matplotlib.pyplot as plt
# generate some data
x = [1,2,3,4,5,8]
y= [i**2 for i in x]
y2= [60-i**2+3*i for i in x]

# plot markers with thick borders
plt.subplot(121)
plt.scatter(x,y, s=500, marker='s', edgecolor='black', linewidth=3, facecolor='green', hatch='|')
# compare with no borders, and denser hatch.
plt.subplot(122)
plt.scatter(x,y2, s=500, marker='s', edgecolor='black', linewidth=0, facecolor='green', hatch='||||')

plt.show()

コレクションスキャッターに関するmatplotlibのドキュメント。

于 2013-01-15T01:02:05.473 に答える