タグ付けされた質問 「matplotlib」

MatplotlibはPython用のプロットライブラリで、インタラクティブに使用したり、スタンドアロンGUIに組み込んだりできます。コンパクトな「pyplot」インターフェイスは、MATLAB®のプロット関数に似ています。

4
ポイントを使用してパンダデータフレームの2つの列をプロットする方法
パンダデータフレームがあり、ある列の値と別の列の値をプロットしたいと思います。幸い、plot私が必要としているように見えるデータフレームに関連付けられたメソッドがあります。 df.plot(x='col_name_1', y='col_name_2') 残念ながら、プロットスタイル(ここではkindパラメーターの後にリストされています)にはポイントがないようです。線や棒、密度まで使用できますが、点は使用できません。この問題の解決に役立つ回避策はありますか?

4
RuntimeWarning:除算で無効な値が検出されました
「春のボール」モデルのオイラー法を使用してプログラムを作成する必要があります from pylab import* from math import* m=0.1 Lo=1 tt=30 k=200 t=20 g=9.81 dt=0.01 n=int((ceil(t/dt))) km=k/m r0=[-5,5*sqrt(3)] v0=[-5,5*sqrt(3)] a=zeros((n,2)) r=zeros((n,2)) v=zeros((n,2)) t=zeros((n,2)) r[1,:]=r0 v[1,:]=v0 for i in range(n-1): rr=dot(r[i,:],r[i,:])**0.5 a=-g+km*cos(tt)*(rr-L0)*r[i,:]/rr v[i+1,:]=v[i,:]+a*dt r[i+1,:]=r[i,:]+v[i+1,:]*dt t[i+1]=t[i]+dt #print norm(r[i,:]) plot(r[:,0],r[:,1]) xlim(-100,100) ylim(-100,100) xlabel('x [m]') ylabel('y [m]') show() 私はこのエラーを受け取り続けます: a=-g+km*cos(tt)*(rr-L0)*r[i,:]/rr RuntimeWarning: invalid value encountered in …

4
imshow()の図が小さすぎます
それはMatlabのimagesc()に似ているので、私はimshow()を使用して派手な配列を視覚化しようとしています。 imshow(random.rand(8, 90), interpolation='nearest') 結果の図は、灰色のウィンドウの中央で非常に小さく、ほとんどのスペースは占有されていません。数値を大きくするためにパラメーターをどのように設定できますか?私はfigsize =(xx、xx)を試しましたが、それは私が望むものではありません。ありがとう!

1
matplotlibの2つの垂直線の間を塗りつぶす
ドキュメントの例をmatplotlib調べましたが、2つの特定の垂直線の間の領域を埋めるプロットを作成する方法がわかりませんでした。 例えば、私は間のプロット作成したいと言うx=0.2とx=4(フルのためのyプロットの範囲を)。使用すべきかfill_between、fillそれともfill_betweenx? whereこの条件を使用できますか?

22
Pythonを使用してplt.show()ウィンドウを最大化する方法
好奇心のために、以下のコードでこれを行う方法を知りたいと思います。私は答えを探していましたが、役に立たないです。 import numpy as np import matplotlib.pyplot as plt data=np.random.exponential(scale=180, size=10000) print ('el valor medio de la distribucion exponencial es: ') print np.average(data) plt.hist(data,bins=len(data)**0.5,normed=True, cumulative=True, facecolor='red', label='datos tamano paqutes acumulativa', alpha=0.5) plt.legend() plt.xlabel('algo') plt.ylabel('algo') plt.grid() plt.show()

4
Matplotlibフィギュアfacecolor(背景色)
フィギュアのフェイスカラーを設定するときに、以下のコードが機能しない理由を誰かが説明できますか? import matplotlib.pyplot as plt # create figure instance fig1 = plt.figure(1) fig1.set_figheight(11) fig1.set_figwidth(8.5) rect = fig1.patch rect.set_facecolor('red') # works with plt.show(). # Does not work with plt.savefig("trial_fig.png") ax = fig1.add_subplot(1,1,1) x = 1, 2, 3 y = 1, 4, 9 ax.plot(x, y) # plt.show() # Will show red face …

4
Matplotlib Legendsが機能しない
matplotlibをアップグレードしてから、凡例を作成しようとすると次のエラーが発生します。 /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30810>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % (str(orig_handle),)) /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30990>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % …

7
Matplotlib離散カラーバー
私はmatplotlibで散布図の離散カラーバーを作ろうとしています 私は自分のx、yデータを持ち、各ポイントに一意の色で表したい整数タグ値があります。たとえば、 plt.scatter(x, y, c=tag) 通常、タグは0〜20の範囲の整数ですが、正確な範囲は変わる可能性があります これまでのところ、私はデフォルト設定を使用しました、例えば plt.colorbar() 連続した色の範囲を与えます。理想的には、n個の個別の色(この例ではn = 20)のセットが欲しいです。タグ値を0にして灰色にし、1〜20をカラフルにするのがさらに良いでしょう。 「クックブック」スクリプトをいくつか見つけましたが、それらは非常に複雑であり、一見単純な問題を解決するための正しい方法であるとは思えません

2
Pythonを使用して2つのプロットを並べて作成するにはどうすればよいですか?
matplotlibで次の例を見つけました: import numpy as np import matplotlib.pyplot as plt x1 = np.linspace(0.0, 5.0) x2 = np.linspace(0.0, 2.0) y1 = np.cos(2 * np.pi * x1) * np.exp(-x1) y2 = np.cos(2 * np.pi * x2) plt.subplot(2, 1, 1) plt.plot(x1, y1, 'ko-') plt.title('A tale of 2 subplots') plt.ylabel('Damped oscillation') plt.subplot(2, 1, 2) plt.plot(x2, …

5
Pythonmatplotlibの複数のバー
matplotlibで複数のバーをプロットする方法、バー関数を複数回呼び出そうとすると、それらは重なり合い、下の図に示すように、最も高い値の赤のみが表示されます。X軸に日付のある複数のバーをプロットするにはどうすればよいですか? これまでのところ、私はこれを試しました: import matplotlib.pyplot as plt import datetime x = [ datetime.datetime(2011, 1, 4, 0, 0), datetime.datetime(2011, 1, 5, 0, 0), datetime.datetime(2011, 1, 6, 0, 0) ] y = [4, 9, 2] z = [1, 2, 3] k = [11, 12, 13] ax = plt.subplot(111) ax.bar(x, y, width=0.5, color='b', align='center') …

3
パンダの棒グラフの値で棒に注釈を付ける
Pandas棒グラフの棒にDataFrameの丸められた数値で注釈を付ける方法を探していました。 >>> df=pd.DataFrame({'A':np.random.rand(2),'B':np.random.rand(2)},index=['value1','value2'] ) >>> df A B value1 0.440922 0.911800 value2 0.588242 0.797366 私はこのようなものを手に入れたいです: このコードサンプルを試してみましたが、注釈はすべてxティックを中心にしています。 >>> ax = df.plot(kind='bar') >>> for idx, label in enumerate(list(df.index)): for acc in df.columns: value = np.round(df.ix[idx][acc],decimals=2) ax.annotate(value, (idx, value), xytext=(0, 15), textcoords='offset points')

1
3桁の数字のヒートマップに科学的記数法を示すSeaborn
以下のように、パンダのピボットテーブルからヒートマップを作成しています。 table2 = pd.pivot_table(df,values='control',columns='Year',index='Region',aggfunc=np.sum) sns.heatmap(table2,annot=True,cmap='Blues') 以下に示すようなヒートマップを作成します。数字はそれほど大きくない(最大750)ことがわかりますが、科学的記数法で示しています。テーブル自体を見ると、そうではありません。数字をわかりやすい表記で表示する方法について何か考えはありますか?

6
matplotlibのラインプロットに表示される垂直グリッド線の取得
プロットに水平グリッド線と垂直グリッド線の両方を取得したいのですが、デフォルトでは水平グリッド線のみが表示されています。私が使用していますpandas.DataFrame、x軸上の日付とラインプロットを生成するためにpythonでSQLクエリから。それらが日付に表示されない理由がわかりません。これに対する答えを検索しようとしましたが、見つかりませんでした。 グラフのプロットに使用したのは、以下の単純なコードだけです。 data.plot() grid('on') dataは、日付とSQLクエリからのデータを含むDataFrameです。 以下のコードも追加してみましたが、垂直グリッド線がなくても同じ出力が得られます。 ax = plt.axes() ax.yaxis.grid() # horizontal lines ax.xaxis.grid() # vertical lines 助言がありますか?

4
matplotlibでx軸のスケールを変更する
Matlabを使用してこのプロットを作成しました matplotlibを使用して、x軸は100000、200000、300000などの大きな数値を描画します。1、2、3、10 ^ 5のようにして、実際には100000、200000、300000であることを示します。 matplotlibでそのようなスケールを作成する簡単な方法はありますか?

3
Jupyter / iPythonでプロットを動的に更新する現在の正しい方法は何ですか?
ipythonノートブック(1つのセル内)のループ内のプロットを動的に更新する方法の回答では、Pythonループ内のJupyterノートブック内のプロットを動的に更新する方法の例が示されています。ただし、これは反復ごとにプロットを破棄して再作成することで機能し、スレッドの1つにあるコメントで%matplotlib nbaggは、ノートブックに埋め込まれたインタラクティブな図を提供する新しい魔法を使用することで、この状況を改善できると述べています。静止画像よりも。 しかし、この素晴らしい新nbagg機能は、私が知る限り完全に文書化されていないようであり、それを使用してプロットを動的に更新する方法の例を見つけることができません。したがって、私の質問は、nbaggバックエンドを使用して、Jupyter / Pythonノートブックの既存のプロットをどのように効率的に更新するのかということです。matplotlibでプロットを動的に更新することは一般に難しい問題であるため、簡単な実例は非常に役立ちます。このトピックに関するドキュメントへのポインタも非常に役立ちます。 私が求めていることを明確にするために:私がしたいのは、シミュレーションコードを数回実行し、現在の状態のプロットを描画し、さらに数回実行し、プロットを更新して反映することです現在の状態など。したがって、アイデアは、プロットを描画し、ユーザーの操作なしで、全体を破壊して再作成することなく、プロット内のデータを更新することです。 上記のリンクされた質問への回答から少し変更されたコードがあります。これは、毎回図全体を再描画することでこれを実現します。同じ結果を達成したいのですが、を使用するとより効率的になりnbaggます。 %matplotlib inline import time import pylab as pl from IPython import display for i in range(10): pl.clf() pl.plot(pl.randn(100)) display.display(pl.gcf()) display.clear_output(wait=True) time.sleep(1.0)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.