質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

603閲覧

python matplotlibで直線を描写するときに色を自動的に割り振りたい

Tubasa1995

総合スコア83

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/08/29 12:39

実現したいこと

現在、2点間を結ぶ直線を書くプログラムを書いています。点が全部で312点あり、合計で156本の直線をひくことになります。どの点とどの点が直線で結ばれるかは既に分かっています。
ただ、問題は156本それぞれに違う色を付けたいのですが、それをどのようにやればいいのか分かりません。わかる方いませんでしょうか。
とりあえず現状単色はもちろん書くことができます。
また、直線の座標はスライスで記述していますが、色をすべての線で帰るとなると、これをfor文などに書き直したほうがよいでしょうか?
color = [色見本のようなもの][i]のような感じで、色見本の中の0から155番目までに該当する数字を自動でとってくるようなことはできないでしょうか?

該当のソースコード

python

1plt.plot([lst2[1][:156], lst2[3][:156]], [lst2[2][:156], lst2[4][:156]],color="green") 2plt.show()

試したこと

matplotlib.colors.XKCD_COLORSには949色あるとのことなので、ここから数字を一つ一つとれればよいと思い

python

1for i in range(len(lst)):#range(156) 2 plt.plot([lst2[1][i], lst2[3][i]], [lst2[2][i], lst2[4][i]],color = plt.colors.XKCD_COLORS.items()[i]) 3  plt.show()

のような感じでできたらいいなと思ったのですが、よくわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

matplotlib.colors.XKCD_COLORSを使用したサンプルです。

Python

1import matplotlib 2import matplotlib.pyplot as plt 3import numpy as np 4 5plt.figure(figsize=(20,15)) 6for i in range(500): 7 x = np.random.randn(2) 8 y = np.random.randn(2) 9 plt.plot(x, y, color=list(matplotlib.colors.XKCD_COLORS.values())[i]) 10plt.show()

イメージ説明

投稿2022/08/29 15:16

meg_

総合スコア10923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問