IPython नोटबुक में प्लॉट चौड़ाई सेटिंग्स


81

मुझे निम्नलिखित प्लॉट मिले हैं:

ध्वनि संकेत

यदि वे समान चौड़ाई वाले हैं तो यह अच्छा लगेगा। क्या आपको पता है कि जब मैं उपयोग कर रहा हूं तो यह ipython नोटबुक में कैसे करें %matplotlib inline?

अपडेट करें:

दोनों आंकड़े उत्पन्न करने के लिए मैं निम्नलिखित कार्यों का उपयोग कर रहा हूं:

import numpy as np
import matplotlib.pyplot as plt

def show_plots2d(title, plots, points, xlabel = '', ylabel = ''):
    """
    Shows 2D plot.

    Arguments:
        title : string
            Title of the plot.
        plots : array_like of pairs like array_like and array_like
            List of pairs,
            where first element is x axis and the second is the y axis.
        points : array_like of pairs like integer and integer
            List of pairs,
            where first element is x coordinate
            and the second is the y coordinate.
        xlabel : string
            Label of x axis
        ylabel : string
            Label of y axis
    """
    xv, yv = zip(*plots)
    y_exclNone = [y[y != np.array(None)] for y in yv]
    y_mins, y_maxs = zip(*
        [(float(min(y)), float(max(y))) for y in y_exclNone]
    )
    y_min = min(y_mins)
    y_max = max(y_maxs)
    y_amp = y_max - y_min
    plt.figure().suptitle(title)
    plt.axis(
        [xv[0][0], xv[0][-1], y_min - 0.3 * y_amp, y_max + 0.3 * y_amp]
    )
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    for x, y in plots:
        plt.plot(x, y)
    for x, y in points:
        plt.plot(x, y, 'bo')
    plt.show()

def show_plot3d(title, x, y, z, xlabel = '', ylabel = '', zlabel = ''):
    """
    Shows 3D plot.

    Arguments:
        title : string
            Title of the plot.
        x : array_like
            List of x coordinates
        y : array_like
            List of y coordinates
        z : array_like
            List of z coordinates
        xlabel : string
            Label of x axis
        ylabel : string
            Label of y axis
        zlabel : string
            Label of z axis
    """
    plt.figure().suptitle(title)
    plt.pcolormesh(x, y, z)
    plt.axis([x[0], x[-1], y[0], y[-1]])
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.colorbar().set_label(zlabel)
    plt.show()

%matplotlib notebook
grisaitis

जवाबों:


80

यदि आप उपयोग करते हैं %pylab inlineतो आप (एक नई लाइन पर) निम्न कमांड डाल सकते हैं:

%pylab inline
pylab.rcParams['figure.figsize'] = (10, 6)

यह आपके दस्तावेज़ में सभी आंकड़े सेट करेगा (जब तक कि अन्यथा निर्दिष्ट न हो) आकार का हो (10, 6), जहां पहली प्रविष्टि चौड़ाई हो और दूसरी ऊंचाई हो।

अधिक विवरण के लिए इस SO पोस्ट को देखें। https://stackoverflow.com/a/17231361/1419668


12
बस figsize(10, 6)काम और समय को याद रखना आसान है।
एलेलो

68

इस तरह से मैंने यह किया है:

%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (12, 9) # (w, h)

आप अपने खुद के आकारों को परिभाषित कर सकते हैं।


4
plt.rcParams["figure.figsize"] =(12,9) यह भी काम करता है
रोमन कज़कोव

67

यदि आप एक आईपीथॉन नोटबुक (ओपी की तरह) में नहीं हैं, तो आप केवल आकार की घोषणा कर सकते हैं जब आप आंकड़ा घोषित करते हैं:

width = 12
height = 12
plt.figure(figsize=(width, height))

4
क्या आपके पास कोई विचार है कि यह किस इकाइयों में मापा जाता है?
मार्टिन थोमा

1
इकाइयाँ इंच हैं, लेकिन YMMV (आपके डिस्प्ले की DPI matplotlib की मान्यताओं से मेल नहीं खा सकती है)। इसके अलावा, यह ओपी के वातावरण में काम नहीं करेगा, एक iPython नोटबुक!
हॉब्स

3
@ हब्ब्स के कौन से संस्करण में आप नोटबुक चला रहे हैं? यह मेरे लिए जुपिटर में काम कर रहा है।
रेमन मार्टिनेज

1
मेरे लिए emacs / ein 20161228.741 में काम करता है
Ott To

3
@ मेरे लिए यह ipython में काम करता है। मेरी साइट का ipython थोड़ा हैक किया गया है, लेकिन मुझे बहुत आश्चर्य होगा अगर यह जेनेरिक ipython के लिए भी काम न करे।
जोनाथन मेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.