পাইথনের প্লটটিতে আমি কীভাবে গ্রিড আঁকব? [বন্ধ]


170

পাইথনে পাইলব ব্যবহার করে প্লট তৈরির জন্য আমি কোড লেখার কাজটি শেষ করেছি এবং এখন আমি স্ক্রেটার প্লটে 10x10 এর গ্রিড সুপারিপোজ করতে চাই। আমি কেমন করে ঐটি করি?

আমার বর্তমান কোডটি নিম্নলিখিত:

x = numpy.arange(0, 1, 0.05)
y = numpy.power(x, 2)

fig = plt.figure()
ax = fig.gca()
ax.set_xticks(numpy.arange(0, 1, 0.1))
ax.set_yticks(numpy.arange(0, 1., 0.1))
plt.scatter(x, y)
plt.show()

এবং এর ফলাফল:

গ্রিড ছাড়াই

আমি যা চাই তা হল নিম্নলিখিত ফলাফল:

গ্রিড সহ

সম্পাদনা: আন্দ্রে সোবোলেভের উত্তরের ভিত্তিতে একটি উদাহরণ যুক্ত করা হয়েছে

উত্তর:


219

আপনি ব্যবহার করতে চান pyplot.grid:

x = numpy.arange(0, 1, 0.05)
y = numpy.power(x, 2)

fig = plt.figure()
ax = fig.gca()
ax.set_xticks(numpy.arange(0, 1, 0.1))
ax.set_yticks(numpy.arange(0, 1., 0.1))
plt.scatter(x, y)
plt.grid()
plt.show()

ax.xaxis.gridএবং ax.yaxis.gridগ্রিড লাইনের বৈশিষ্ট্যগুলি নিয়ন্ত্রণ করতে পারে।

এখানে চিত্র বিবরণ লিখুন


1
কোনও ধারণা কেন এটি আমার জন্য গ্রিড ছাড়াই প্লট তৈরি করছে?
এন্ডোলিথ

ওহ আমি মনে করি এটি একটি matplotlibrcসমস্যা, আমার গ্রিড স্টাইলটি কঠিন লাইন হিসাবে সংজ্ঞায়িত হয়েছিল এবং এটি আর কাজ করে না?
এন্ডোলিথ

1
আসলে এটি কাজ করা উচিত। কমপক্ষে, এটি আমার পক্ষে কাজ mpl.rcParams['grid.linestyle'] = "-"করে - সেটিংটি শক্ত গ্রিড লাইনের সাথে একটি প্লট তৈরি করে। তোমার কি grid.linestyle?
আন্দ্রে সোবোলেভ

এটা ছিল -। আমি জানি না কেন এটি কাজ করা বন্ধ করে দিয়েছে। একদিন তদন্ত করব।
এন্ডোলিথ

4
অন্যভাবে বলা যায় এর কি উন্নততর পারে ax.scatter(x,y)এবং ax.grid(True)
সাইরেন

57

প্রতিটি টিকের গ্রিড লাইন দেখানোর জন্য অ্যাড করুন

plt.grid(True)

উদাহরণ স্বরূপ:

import matplotlib.pyplot as plt

points = [
    (0, 10),
    (10, 20),
    (20, 40),
    (60, 100),
]

x = list(map(lambda x: x[0], points))
y = list(map(lambda x: x[1], points))

plt.scatter(x, y)
plt.grid(True)

plt.show()

এখানে চিত্র বর্ণনা লিখুন


এছাড়াও, আপনি স্টাইলটি কাস্টমাইজ করতে চান (উদাহরণস্বরূপ ড্যাশড লাইনের পরিবর্তে শক্ত লাইন), যোগ করুন:

plt.rc('grid', linestyle="-", color='black')

উদাহরণ স্বরূপ:

import matplotlib.pyplot as plt

points = [
    (0, 10),
    (10, 20),
    (20, 40),
    (60, 100),
]

x = list(map(lambda x: x[0], points))
y = list(map(lambda x: x[1], points))

plt.rc('grid', linestyle="-", color='black')
plt.scatter(x, y)
plt.grid(True)

plt.show()

এখানে চিত্র বর্ণনা লিখুন


17

আরসিপ্যারাম ব্যবহার করে আপনি নীচে গ্রিডটি খুব সহজেই প্রদর্শন করতে পারেন

plt.rcParams['axes.facecolor'] = 'white'
plt.rcParams['axes.edgecolor'] = 'white'
plt.rcParams['axes.grid'] = True
plt.rcParams['grid.alpha'] = 1
plt.rcParams['grid.color'] = "#cccccc"

যদি এই পরামিতিগুলি পরিবর্তন করার পরেও গ্রিডটি প্রদর্শিত না হয় তবে ব্যবহার করুন

plt.grid(True)

ফোন করার আগে

plt.show()


1

পাইথন 2 (পাইথন 3 এ কাজ করছে না) দিয়ে Gtk3 এ একটি ম্যাটপ্ল্লোলিব গ্রিড কীভাবে যুক্ত করবেন তা এখানে একটি ছোট উদাহরণ রয়েছে:

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from matplotlib.figure import Figure
from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas

win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.set_title("Embedding in GTK3")

f = Figure(figsize=(1, 1), dpi=100)
ax = f.add_subplot(111)
ax.grid()

canvas = FigureCanvas(f)
canvas.set_size_request(400, 400)
win.add(canvas)

win.show_all()
Gtk.main()

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.