উত্তর:
ব্যবহার করুন:
+ scale_y_continuous(labels = scales::percent)
বা, শতাংশের জন্য বিন্যাসের পরামিতিগুলি নির্দিষ্ট করতে:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
( labels = percent
ggplot2 এর ২.২.১ সংস্করণ থেকে কমান্ডটি অপ্রচলিত)
scales::percent(accuracy = 1)
কাজ না করার কারণটি কারণ *_format()
সংস্করণগুলি পরিবর্তে কোনও ফাংশন তৈরি করে ... যা কিছু percent()
একা তৈরি করে, তা কি সঠিক?
নীতিগতভাবে, আপনি labels
প্যারামিটারে কোনও পুনর্নির্মাণ ফাংশনটি পাস করতে পারেন :
+ scale_y_continuous(labels = function(x) paste0(x*100, "%")) # Multiply by 100 & add %
অথবা
+ scale_y_continuous(labels = function(x) paste0(x, "%")) # Add percent sign
পুনরুত্পাদনযোগ্য উদাহরণ:
library(ggplot2)
df = data.frame(x=seq(0,1,0.1), y=seq(0,1,0.1))
ggplot(df, aes(x,y)) +
geom_point() +
scale_y_continuous(labels = function(x) paste0(x*100, "%"))
ggplot2
এবং scales
প্যাকেজগুলি এটি করতে পারে:
y <- c(12, 20)/100
x <- c(1, 2)
library(ggplot2)
library(scales)
myplot <- qplot(as.factor(x), y, geom="bar")
myplot + scale_y_continuous(labels=percent)
মনে হচ্ছে stat()
বিকল্পটি বন্ধ হয়ে গেছে, ত্রুটির বার্তা তৈরি করে। এটা চেষ্টা কর:
library(scales)
myplot <- ggplot(mtcars, aes(factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels=percent)
myplot
উপরের @ দীনার কাছ থেকে ধার করা, লেবেলগুলির জন্য ফাংশন পরিবর্তনটি আপনি ভাবার চেয়ে বেশি বহুমুখী le উদাহরণস্বরূপ, আমার একটি জিপিপ্লট ছিল যেখানে গণনাযুক্ত ভেরিয়েবলগুলির ডিনোমিনেটর 140 ছিল I আমি তার উদাহরণটি এভাবে ব্যবহার করেছি:
scale_y_continuous(labels = function(x) paste0(round(x/140*100,1), "%"), breaks = seq(0, 140, 35))
এটি আমার 140 শতাংশে আমার শতাংশ পেতে এবং তারপরে এটির ডিফল্ট হওয়া অদ্ভুত সংখ্যার চেয়ে 25% ইনক্রিমেন্টে স্কেলটি ভেঙে দেয়। এখানে মূল কীটি হল স্কেল ব্রেকগুলি এখনও আপনার শতাংশের দ্বারা নয়, মূল গণনা দ্বারা সেট করা আছে। সুতরাং বিরতিগুলি অবশ্যই শূন্য থেকে ডিনোমিনেটর মানের হতে হবে, "ব্রেক" এর তৃতীয় যুক্তি হ'ল ডিনমিনেটর হিসাবে বিভক্ত হওয়া অনেকগুলি লেবেল ব্রেক আপনি চান (যেমন 140 * 0.25 = 35)।
library(scales)
।