কীভাবে আর-তে একটি প্লটে ফন্টের আকার বাড়ানো যায়?


146

আমি দ্বিধান্বিত. শিরোনাম, লেবেল এবং প্লটের অন্যান্য জায়গায় পাঠ্যের ফন্টের আকার বাড়ানোর সঠিক উপায় কী?

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

x <- rnorm(100)
hist(x, xlim=range(x), xlab= "Variable Label", 
     ylab="density", main="Title of plot", prob=TRUE, ps=30)

psযুক্তি ফন্টের আকার পরিবর্তন করে না (কিন্তু তার জন্য আর সহায়তা বলেছেন?par এটি "পাঠ্য (কিন্তু না চিহ্ন) বিন্দু আকার" জন্য হয়।

এছাড়াও প্লট করা ফাংশন থেকে ফন্টের আকার পরিবর্তন করে পৃথক করা সম্ভব hist?


উত্তর:


140

আপনি cex=1.5150 শতাংশ স্কন্ট ফন্টে যুক্তির মতো কিছু চান । কিন্তু দেখতে পাচ্ছ help(par)যেমন এছাড়াও আছে cex.lab, cex.axis...


1
ধন্যবাদ! "পিএস = 1.5" এর সাথে পার্থক্য কী?
টিম

5
কেন cex = 1.5 কাজ করে না? তবে প্রতিটি অংশের জন্য cex.lab, cex.axis, cex.main পদে নির্দিষ্ট করতে হবে? Cex = 1.5 এর জন্য কী?
টিম

2
আপনি help(par)সম্পর্কে পড়া হয়েছে ps? আমি যতদূর বলতে পারি পাঠ্য-সম্পর্কিত বলে মনে হচ্ছে না।
ডার্ক এডেলবুয়েটেল

2
এইভাবেই এটি রয়েছে, অংশটি অবশ্যই এস ভাষার পূর্ববর্তী বাস্তবায়নের সাথে পিছনের সামঞ্জস্যের জন্য।
ডার্ক এডেলবুয়েটেল

3
সিএক্স হ'ল ম্যাগনিফিকেশন ফ্যাক্টর। ডিফল্ট মান 1। আপনার যদি ফন্টের আকারগুলি নির্দিষ্ট করতে হয় তবে আপনি "ডিভাইসস," পিডিএফফন্টস, পিডিএফ, "এম্বেডফন্ট এবং আরও অনেকগুলি দিয়ে ডকুমেন্টেশনটি খনন করার জন্য আরও ভাল প্রস্তুত ছিলেন।
আইআরটিএফএম

124

সুতরাং, বিদ্যমান আলোচনা সংক্ষিপ্ত করে যোগ করা

cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5

আপনার প্লটে যেখানে 1.5, 2, 3 ইত্যাদি হতে পারে এবং 1 এর মান হ'ল ফন্টের আকার বাড়িয়ে দেবে।

x <- rnorm(100)

cex জিনিস পরিবর্তন করে না

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE)

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex=1.5)

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

Cex.lab = 1.5, cex.axis = 1.5, cex.main = 1.5, cex.sub = 1.5 যোগ করুন

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)

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


2
বিটিডাব্লু, যদি আপনি বার চার্টে অক্ষটি সংশোধন করার চেষ্টা করছেন (র্যান্ডমফোরস্ট বা জিবিএম-র পরিবর্তনশীল গুরুত্বের প্লটের জন্য বলুন), আপনাকে ব্যবহার করতে হবে cex.names(আপনি যদি এমন একজন মানুষ হন যে একটি সরল অবস্থান থেকে জিনিসগুলি পড়েন তবে আপনিও হতে পারেন) চাই las=2)
জেনোমার

22

লক্ষ্য করুন যে পাঠ্য দিয়ে প্লট তৈরি করা হলে " সেক্স " জিনিস পরিবর্তন করে। উদাহরণস্বরূপ, একটি অগ্রগামী শ্রেণিবিন্যাসের প্লট:

library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
plot(agn1, which.plots=2)

সাধারণ আকারের পাঠ্য সহ একটি প্লট তৈরি করবে:

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

এবং plot(agn1, which.plots=2, cex=0.5)এটি একটি উত্পাদন করবে:

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


faces2খুব বেশি কাজ করুন (
চেরনোফের

আমার উদাহরণে আমাকে প্লট করতে নয় বরং অভ্যন্তরীণ বস্তুটি সরাসরি প্রভাবের জন্য সিক্স প্রয়োগ করতে হয়েছিল:plot(ci(roc(data$a, data$b, auc=TRUE, of="auc", print.auc=TRUE, print.auc.cex=1.5, plot=TRUE), of="thresholds", thresholds="best")))
ট্যাপার

21

পরীক্ষা এবং ত্রুটির দ্বারা, আমি নির্ধারণ করেছি যে ফন্টের আকার নির্ধারণ করতে নিম্নলিখিতটি প্রয়োজন:

  1. cexকাজ করে না hist()। ব্যবহারcex.axiscex.labলেবেলের জন্য অক্ষের সংখ্যাগুলির জন্য ।
  2. cexকোনটিতেই কাজ করে না axis()। ব্যবহারcex.axisঅক্ষের সংখ্যাগুলির জন্য ।
  3. লেবেল ব্যবহার করে সেটিংস স্থাপনের জায়গায় hist()আপনি সেগুলি ব্যবহার করে সেট করতে পারেন mtext()। আপনি ব্যবহার করে ফন্টের আকার সেট করতে পারেন cex, তবে 1 এর মান ব্যবহার করে ফন্টটি ডিফল্টের 1.5 গুনে সেট করে !!! আপনার ব্যবহার করা দরকারcex=2/3ডিফল্ট ফন্টের আকার পেতে করতে হবে। খুব কমপক্ষে, এটি পিডিএফ আউটপুট ব্যবহার করে ম্যাক ওএস এক্স এর জন্য আর 3.0.2 এর অধীনে কেস।
  4. ব্যবহার করে আপনি পিডিএফ আউটপুট ডিফল্ট হরফ আকার পরিবর্তন করতে পারেন pointsizeমধ্যে pdf()

আমি অনুমান করি যে এটির জন্য আর (ক) এর ডকুমেন্টেশনটি যা করা উচিত তা আসলেই করা, (খ) প্রত্যাশিত ফ্যাশনে আচরণ করা আশা করা খুব যুক্তিযুক্ত হবে।


2

আমি যখন অক্ষের লেবেলগুলি আরও ছোট করতে চেয়েছিলাম তখন আমি এগুলি পেরিয়ে এসেছি, তবে সমস্ত কিছু একই আকারে রেখে চলেছি। যে আদেশটি আমার পক্ষে কাজ করেছিল, তা হ'ল:

par(cex.axis=0.5)

প্লট কমান্ডের আগে। শুধু মনে রাখবেন:

par(cex.axis=1.0)

ফন্টগুলি ডিফল্ট আকারে ফিরে যায় তা নিশ্চিত করার প্লট করার পরে।


2

সম্পূর্ণতার জন্য, স্কেলিং পাঠ্যটি দিয়ে 150% দিয়ে cex = 1.5, এখানে একটি সম্পূর্ণ সমাধান রয়েছে:

cex <- 1.5
par(cex.lab=cex, cex.axis=cex, cex.main=cex)
plot(...)
par(cex.lab=1, cex.axis=1, cex.main=1)

বয়লারপ্লেট হ্রাস করার জন্য আমি এই জাতীয় জিনিস মোড়ানো সুপারিশ করি, যেমন:

plot_cex <- function(x, y, cex=1.5, ...) {
  par(cex.lab=cex, cex.axis=cex, cex.main=cex)
  plot(x, y, ...)
  par(cex.lab=1, cex.axis=1, cex.main=1)
  invisible(0)
}

যা আপনি এটির মতো ব্যবহার করতে পারেন:

plot_cex(x=1:5, y=rnorm(5), cex=1.3)

...দ উপবৃত্ত হিসাবে পরিচিত হয় এবং ফাংশন উপর অতিরিক্তি প্যারামিটার পাস করতে ব্যবহৃত হয়। সুতরাং, এগুলি সাধারণত চক্রান্ত করার জন্য ব্যবহৃত হয় used সুতরাং, নিম্নলিখিতটি প্রত্যাশার মতো কাজ করে:

plot_cex(x=1:5, y=rnorm(5), cex=1.5, ylim=c(-0.5,0.5))

1

যদি আপনি লেবেল = সত্য সত্য নির্ধারণের সময় হিস্টোগ্রামের লেবেলের ফন্ট বাড়াতে চান

bp=hist(values, labels = FALSE, 
 main='Histogram',
 xlab='xlab',ylab='ylab',  cex.main=2, cex.lab=2,cex.axis=2)

text(x=bp$mids, y=bp$counts, labels=bp$counts ,cex=2,pos=3)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.