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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

8648閲覧

3次元プロットでグリッドをなくしたい&labelが目盛りと重なってしまう。

Fallout_18

総合スコア124

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/06/28 04:22

3次元プロットで、見栄えをよくするためにグリッドをなくしたく、ネットで調べてものっておらずやり方がないのでしょうか。。。?
適当にわからず、seabornをつかってやってみたのですが、反映されませんでした。以下にサンプルコードをおきます。
それと、x,ylabelのfontが大きくなると、目盛りと重なってしまうときにどのような対処をしてやれば適切な位置にラベルが表示されるのでしょうか?

python

1import numpy as np 2import matplotlib.pyplot as plt 3import math 4from mpl_toolkits.mplot3d import Axes3D 5import matplotlib.animation as animation 6import matplotlib.colors as colors 7from matplotlib import cm 8import seaborn as sns 9 10#環境設定 11n=2 #x軸 12m=2 #t 13theta = 3*(math.pi)/12 14p_spot=[] 15P_spot=[] 16 17P = [[np.cos(theta),np.sin(theta)],[0,0]] 18Q = [[0,0],[np.sin(theta),-np.cos(theta)]] 19x_list=[]#xline 20t_list=[]#time 21p_list=[]#probability 22s_list=[]#state 23a = 1/math.sqrt(2) 24b = 1j/math.sqrt(2) 25p_map=[] 26pp_map =np.zeros([2*m+1,2*m+1])#,dtype="complex") 27#ランダムウォーク 28R=1/2 29L=1/2 30X_list=[] 31P_list=[] 32#step_list=[] 33 34#quantumwalk 35for j in range(0,2*n+1): 36 if j == n: 37 phai = [a ,b] 38 pro = 1 39 else: 40 phai = [0,0] 41 pro =0 42 p = np.dot(phai,np.conj(phai)) 43 44 x_list.append(j) 45 X_list.append(j) 46 s_list.append(phai) 47 p_list.append(p) 48 P_list.append(pro) 49 50 51 52for t in range(0,2*m+1): 53 t_list.append(t) 54 if t ==0: 55 s_list 56 p_list 57 P_list 58 else: 59 next_s_list = [0]*len(s_list) 60 next_P_list = [0]*len(P_list) #listと同じ要素の数ですべて0を用意(初期化) 61 for i in range(0,2*n+1): 62 if i == 0: 63 next_s_list[i] = np.dot(P, s_list[i+1]) 64 next_P_list[i] = P_list[i+1]*L 65 elif i == 2*n: 66 next_s_list[i] = np.dot(Q, s_list[i-1]) 67 next_P_list[i] = P_list[i-1]*R 68 else: 69 next_s_list[i] = np.dot(P, s_list[i+1]) + np.dot(Q, s_list[i-1]) 70 next_P_list[i] = P_list[i+1]*L + P_list[i-1]*R 71 72 p_list[i] = np.dot(next_s_list[i],np.conj(next_s_list[i])) 73 #pp_map[t]=p_list 74 75 76 s_list = next_s_list 77 P_list = next_P_list 78 pp_map[t]=np.real(p_list) 79 print(t,np.real(pp_map),np.real(p_list)) 80 81 82 83#3次元プロット 84fig = plt.figure() 85ax = Axes3D(fig, rect=(0.1,0.1,0.8,0.8)) #rect=(x0,y0,width,height) 86X,Y = np.meshgrid(x_list, t_list) 87ax.set_xlabel("Position",fontsize=24) 88ax.set_ylabel("Time",fontsize=24) 89ax.set_zlabel("|φ|^2",fontsize=18) 90ax.set_xlim(2*n,0) 91ax.set_ylim(2*n,0) 92ax.set_zlim(0,1) 93offset = pp_map.ravel() + np.abs(pp_map.min()) 94fracs = offset.astype(float)/offset.max() 95norm = colors.Normalize(fracs.min(), fracs.max()) 96clrs = cm.cool(norm(fracs)) 97ax.bar3d(X.ravel(), Y.ravel(), pp_map.ravel() ,0.5, 0.5, -pp_map.ravel(),color =clrs) 98ax.w_xaxis.set_pane_color((0, 0, 0, 0)) 99ax.w_yaxis.set_pane_color((0, 0, 0, 0)) 100ax.w_zaxis.set_pane_color((0, 0, 0, 0)) 101sns.set_style("white") #←ここです!! 102plt.show()

イメージ説明
ご指摘のほどよろしくお願い致します。
力足らずですいません。。

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

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

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

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

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

guest

回答1

0

自己解決

背景色を消すやり方については理解しました。

python

1ax.grid(False) 2ax.set_xticks([]) 3ax.set_yticks([]) 4ax.set_zticks([])

で解決しました。

投稿2018/06/29 06:09

編集2018/06/29 06:13
Fallout_18

総合スコア124

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問