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

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

ただいまの
回答率

90.83%

  • Python 3.x

    4447questions

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

等高線の色を変えたい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 63

shougi

score 3

CSVから読みこんだデータから等高線を作っているのですが,色の変更が上手くいきません.エラーは出ないのですが・・・

import matplotlib.cm as cm
import math
import matplotlib.pyplot as plt
import numpy as np



# データ
p2 =np.loadtxt('initial.csv',delimiter=',')
# 軸作成
a,b = [],[]
x = p2[0,:]
y = p2[:,0]
x = y[1:]
y = x[1:]
for num in range(len(x)):
    a.append(y)
for num in range(len(y)):
    b.append(z)
c = np.array(a)
d = np.array(b).T
p2 = np.delete(p2,0,1)
p2 = np.delete(p2,0,0)
#グラフ
plt.contourf(c,d,p2,1000)
plt.xlabel('takasa')
plt.ylabel('haba')
plt.imshow(p2,cmap=cm.bwr)
plt.colorbar()
plt.show()
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

どのようなグラフを作図したいのかがいまひとつ理解できておりませんが、
単に等高線を描いて色をつけたいというのであれば

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

# データ
p2 =np.loadtxt('density_python.csv',delimiter=',')

# yz軸作成
Y,Z = np.meshgrid(p2[0, 1:], p2[1: ,0])

#データ2次元配列作成
p2 = p2[1:,1:]

#グラフ
plt.contourf(Y, Z, p2, cmap=cm.bwr_r, vmin=-100, vmax=100)
plt.xlabel('Y')
plt.ylabel('Z')
plt.colorbar()
plt.show()

で良いのではないでしょうか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/01 15:37

    質問文のコードの下から3行目のplt.imshow(p2,cmap=cm.bwr)を削除すれば,ネット上にあるコードなので正常に動作するのですが,色が好みではないので,プラスが青,マイナスが赤で0に近くなるほど白くなるように変えたいのです

    キャンセル

  • 2018/06/01 16:05

    ありがとうございます

    キャンセル

  • 2018/06/01 16:19

    まず、「プラスが青,マイナスが赤」の件ですが、現状使用しております "cm.bwr" と色が反対となりますので "cm.bwr_r" をお使いください。
    次にセンターを 0 付近にする方法ですが、 vmax, vmin を使用して cmap の上限と下限を設定できますので、例えば p2 の最大値が 100 の場合は vmax=100, vmin=-100 などとすることで、センターを0とすることが出来ます。

    キャンセル

  • 2018/06/01 16:26

    なるほど,ありがとうございます.p2とcmapの間に,数字を入れれば等高線も細かくできました.

    キャンセル

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

  • ただいまの回答率 90.83%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    matplotlibのplt.draw()を使ってリアルタイムで画像の描画をしたいのですがディスプレ...

    matplotlibで白黒反転するアニメーションを作りたいのですが、下のプログラムを実行してもディスプレイに何も表示されません 下のプログラムをどのように変えたら良いのでしょうか?

  • 解決済

    matplotlib.pyplot.scatter で軸の値を変更

    前提・実現したいこと 現在、pythonでmatplotlib.pyplot.scatterを用いて散布図を書こうとしています。 そのときに、軸の値を変更する方法を知りたいです。

  • 解決済

    pythonの図示 matpotlib

    pythonで四角形が格子状に区切られそれぞれの点に数字が振られています。それをコンターマップのように(ただし、等高線はいらない)図示したいのですがどのように書けばよいでしょうか

  • 解決済

    クラスタ毎の色変更ができません

    前提・実現したいこと クラスタリングの勉強をしています. scikit-learnでクラスタリングしようと思っています. 下記の2つの記事を参考にさせていただいています. こちらの

  • 解決済

    matplotlib contourマップの値の制限とanimation

    import numpy as np import matplotlib.pyplot as plt E=np.zeros((10,10)) for i in range(1,1

  • 解決済

    Python matplotlib 図の保存について

    本来、matplotlibで図を保存する場合は以下のようになるのですが、 以下のように保存することは可能でしょうか? (グラフの部分だけ) また、matplotlibで

  • 受付中

    python3 seabornが反映されない

    前提・実現したいこと python3.6系にseaborn(ver. 0.8.1)をpipからインストールし,以下の簡単な ヒストグラムを描画してみたのですが,結果の図がmatpl

  • 解決済

    python棒グラフの順番

     前提・実現したいこと 数値とラベルを持つあるデータをについて、数値でソートして その結果を棒グラフとして出力したいと思っています。  発生している問題・エラーメッセージ ソー

同じタグがついた質問を見る

  • Python 3.x

    4447questions

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