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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

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

Q&A

0回答

769閲覧

pythonのmatplotlibの3Dグラフの描画範囲の指定方法がわかりません。

harumaki18

総合スコア6

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

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

0グッド

0クリップ

投稿2017/11/07 08:19

任意の範囲に関する3次元のグラフを作成しています。

###発生している問題・エラーメッセージ

set_xlimを用いて範囲指定をした範囲(timeの軸の範囲0.5から)のグラフを描画したいのですが、 添付の図のように それ以外(0から0.5)の範囲のグラフも描画されています。 ソースコードには色々書いていますが、 主には最後のグラフの描画に問題があると思っています。 どのようにすればいいのでしょうか…

###該当のソースコード

python

1import matplotlib.pyplot as plt 2import numpy as np 3import pandas as pd 4import csv 5# from scipy.interpolate import interp1d 6from scipy import signal, interpolate 7from matplotlib import cm 8from matplotlib.colors import LinearSegmentedColormap 9from mpl_toolkits.mplot3d import Axes3D 10 11 12shotnumber = 151110014 13interval = 0.000001 14ch_u = 20 #2014_18 2015_20 15ch_d = 19 16start = 40 17N = 4000 18f = open("{}AXUV_upside.csv".format(shotnumber)) 19data = csv.reader(f) 20p = open("impactparameter_32mm_2015_u.txt") 21line = p.readlines() 22p.close() 23 24calibrate = np.loadtxt("calibration_up_151223.txt") 25 26t = [] 27y = [] 28x = [] 29negative_list = [1,5,6,9,14,15,16,17] #15年 30#negative_list = [] 31for d in data: 32 d = list(map(float, d)) 33 t.append(d[0]) 34 y.append(d[1:]) 35y = np.array(y) 36t = np.array(t) 37y_2 = [] 38for i in range(ch_u): 39 if i in negative_list: 40 y_2.append(np.array(y[:,i]*((-1) / calibrate[i]))) # 全データ 41 else: 42 y_2.append(np.array(y[:, i] * (1 / calibrate[i]))) # 全データ 43 44y_2 = np.array(y_2) 45y_2 = y_2.transpose() 46for i in range(0, ch_u): 47 x.append(float(line[i])) 48 49x = np.array(x) 50# ここまで各種読み込み 51 52#delete_list = [13,8]#14年消す 53#delete_list = [8,10,12,13] 54delete_list = [4,5,8,10,12,13] # 15年測定結果の消すチャンネル0-19まで 55remain_list = [] #壊れているCHなどを省く 56for i in range(ch_u): 57 if i not in delete_list: 58 remain_list.append(i) 59 60x_result = [] 61for n in range(20): 62 x_i = [] 63 for i in range(6006): 64 x_i.append(x[n]) 65 x_result.append(x_i) 66x_result = np.array(x_result) 67fig = plt.figure(figsize=(13,13)) 68fig.patch.set_facecolor('white') 69 70ax = fig.add_subplot(111,projection='3d') 71ax.set_xlabel('time{s}') 72ax.set_ylabel('impactparameter[m]') 73ax.set_zlabel('intensity[a.u.]') 74for n in range(ch_u): 75 if n in remain_list: 76 ax.plot(t, x_result[n,:], y_2[:,n]) 77ax.set_xlim(0.0005,0.002) 78plt.title('#{}_upside'.format(shotnumber)) 79plt.show() 80#plt.savefig("{}_AXUV_upside_3dplot.png".format(shotnumber))[イメージ説明](3071e20a654e57352272274c5d1383f5.png)

###試したこと
plt.xlim()も試しています。同様の結果になっています。

###補足情報(言語/FW/ツール等のバージョンなど)
python matplotlibを使用

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問