এক্স অক্ষ পয়েন্টের জন্য কাস্টম পাঠ্য সহ প্লট করুন


106

আমি নীচের নমুনা কোডের মতো ম্যাটপ্ল্লোলিব এবং পাইথন ব্যবহার করে একটি প্লট আঁকছি।

x = array([0,1,2,3])
y = array([20,21,22,23])
plot(x,y)
show()

এটি এক্স অক্ষের উপরের কোড হিসাবে আমি অঙ্কিত মানগুলি দেখতে পাব 0.0, 0.5, 1.0, 1.5অর্থাৎ আমার রেফারেন্সের x মানগুলির একই মান।

এক্স এর প্রতিটি পয়েন্টকে আলাদা স্ট্রিংয়ে ম্যাপ করার জন্য কী আছে? সুতরাং উদাহরণস্বরূপ আমি চাই x অক্ষগুলি মাসের নাম (স্ট্রিং Jun, July,...) বা অন্যান্য স্ট্রিং যেমন মানুষের নাম ( "John", "Arnold", ...) বা ঘড়ির সময় ( "12:20", "12:21", "12:22", ..) দেখায় ।

আপনি কি জানেন যে আমি কী করতে পারি বা কোন ফাংশনটি একবার দেখতে হবে?
আমার উদ্দেশ্যে এটি matplotlib.tickerসাহায্য হতে পারে?

উত্তর:


195

আপনি নিজে সেট করতে পারেন xticks (এবং yticks) ব্যবহার pyplot.xticks :

import matplotlib.pyplot as plt
import numpy as np

x = np.array([0,1,2,3])
y = np.array([20,21,22,23])
my_xticks = ['John','Arnold','Mavis','Matt']
plt.xticks(x, my_xticks)
plt.plot(x, y)
plt.show()


44
rotationকখনও কখনও দরকারী:plt.xticks(range(5), ["some", "words", "as", "x", "ticks"], rotation=45)
অ্যাডোব

4
এবং কীভাবে এক্স-অক্ষ বরাবর আইটেমগুলি সমানভাবে ছড়িয়ে দেবেন? আসুন ধরা যাক আমার এক্স অক্ষটির অভ্যন্তরীণভাবে 1 মিলিয়ন পয়েন্ট রয়েছে এবং আমি কেবলমাত্র জন, আর্নল্ড, মাভিস এবং ম্যাটকে অক্ষর সমানভাবে বিতরিত করতে চাই?
স্টিভ কে

@ সিরবেনবেঞ্জি: x[idx]আপনি যে ডেটা প্রদর্শন করতে চান তা কেবল নির্বাচন করতে সূচীকরণ (উদাহরণস্বরূপ ) ব্যবহার করুন।
unutbu

আপনি কেন পাইব লেখেন তা আমি বুঝতে পারি না, উত্তরটি আমার মতে পুরানো এবং ভুল।
মারিও ক্যারেন

1

এটি আমার পক্ষে কাজ করেছে। এক্স অক্ষ প্রতি মাসে

str_month_list = ['January','February','March','April','May','June','July','August','September','October','November','December']
ax.set_xticks(range(0,12))
ax.set_xticklabels(str_month_list)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.