2017-08-14 12 views
0

私はこれを実行すると、その後、PDFファイルを検査し、次のMWEmatplotlibの色の問題

dat = [1,7,3,6,9,4] 
plt.bar(range(len(dat)), dat, color='#1C5B26') 
plt.savefig(path/tofile.pdf) 

を持って、棒の六角形の値が非常に遠く、私が指定したものからなることができます。私はプロットが私が指定した色とまったく同じになるようにしたいが、それは与えられた16進数値に近いものではないことも視覚的に見ることができる。

これは何らかの理由で起こりますか/回避策ですか?

EDIT: ここでは、検査時に得られる結果を示します。与えられた16進値のために私は得るべきである(28,91,38)。私はその小さな違いを知っていますが、私は別の "display in ..."オプションを使用していたときに問題が悪化していると思いました。 sRGBは私が見つけたオプションですが、私に最高のマッチを与えましたが、まだ完全ではありません。 enter image description here

+0

この問題は再現できません。私はあなたのコードを使用して図を作成し、pdfから色を抽出しました。これはスクリプトで指定したものとまったく同じです。おそらく、あなたのPDFビューアは、別のカラープロファイルセットを持っていますか?たぶんあなたはその問題を説明するためにあなたの出力の例を示すことができます。 – tom

+0

@tom私は、違いがはるかに大きかったと信じていた別のオプションを調べていましたが、sRGBの場合でも、まだ小さいですが、まだ小さいです。 –

答えて

1

私はこれをコメントしたいと思いますが、私はできません(< 50担当者)。

最初の回答者からNamed colors in matplotlib matplotlibはその色をdictにしています。
また、利用可能なすべてのものにリンクしています。この辞書を色に使うのは、あなたが本当に好きな色を選ぶことができない理由です。

+0

なぜ彼らは任意の16進コードを許さないでしょうか?あなたはどんな回避策も知っていますか?私は本当に近いものを探したいとは思っていません。 –

+0

その答えは、どの名前付きの色が使用可能であるかだけを示しています。そのdictに名前がない場合でも、任意のRGBカラーを指定することができます(例えば16進コードを使用) – tom

+0

例:https://matplotlib.org/users/colors.html#specifying-colors – tom