إنشاء تصورات مخطط الوافل
يمكن استخدام المخططات الدائرية المربعة (المعروفة أيضًا باسم مخططات الوافل) لتوصيل أجزاء من الكل للكميات الفئوية. لمحاكاة عرض النسبة المئوية للمخطط الدائري، يجب استخدام شبكة 10x10 بحيث يمثل كل مربع 1% من الإجمالي. لا تلتزم الاستخدامات الحديثة لمخططات الوافل بالضرورة بهذه القاعدة ويمكن إنشاؤها باستخدام شبكة من أي شكل مستطيل. تقترح أفضل الممارسات إبقاء عدد الفئات صغيرًا، تمامًا كما ينبغي القيام به عند إنشاء المخططات الدائرية. يتم توفير الأدوات لإنشاء مخططات وافل بالإضافة إلى تجميعها معًا، واستخدام الحروف الرسومية لإنشاء صور توضيحية للنمط المتماثل.
ويستخدم ggplot2 ويقوم بإرجاع كائن ggplot2.
يتم تنفيذ الوظائف التالية:
waffle
: اصنع مخططات وافل (فطيرة مربعة).
draw_key_pictogram
: أداة إنشاء الصور التوضيحية الأسطورية
fa_grep
: ابحث عن أسماء الحروف الرسومية Font Awesome للنمط
fa_list
: سرد كافة الحروف الرسومية Font Awesome
fa5_brand
: العلامة التجارية Font Awesome 5
fa5_solid
: الخط رائع 5 صلب
geom_pictogram
: الرسم التخطيطي Geom
geom_waffle
: وافل (مخطط دائري مربع) جيوم
install_fa_fonts
: تثبيت Font Awesome 5 Fonts
iron
: تخطيط عمودي بمحاذاة إلى اليسار لمؤامرات الوافل
scale_label_pictogram
: يستخدم مع Geom_pictogram() لتعيين خطوط Font Awesome للتسميات
theme_enhance_waffle
: أداة إزالة الكعكة الخاصة بموضوع مخطط الوافل والتي يمكن استخدامها مع أي سمة أخرى
install.packages( " waffle " ) # NOTE: CRAN version is 0.7.0
# or
remotes :: install_github( " hrbrmstr/waffle " )
ملاحظة: لاستخدام خيارات تثبيت "أجهزة التحكم عن بعد"، ستحتاج إلى تثبيت الحزمة {remotes}.
library( waffle )
library( magrittr )
library( hrbrthemes )
library( ggplot2 )
library( dplyr )
library( waffle )
# current verison
packageVersion( " waffle " )
# # [1] '1.0.2'
data.frame (
parts = factor (rep( month.abb [ 1 : 3 ], 3 ), levels = month.abb [ 1 : 3 ]),
vals = c( 10 , 20 , 30 , 6 , 14 , 40 , 30 , 20 , 10 ),
col = rep(c( " navy " , " black " , " maroon " ), 3 ),
fct = c(
rep( " Thing 1 " , 3 ),
rep( " Thing 2 " , 3 ),
rep( " Thing 3 " , 3 )
)
) - > xdf
xdf % > %
count( parts , wt = vals ) % > %
ggplot(
aes( fill = parts , values = n )
) +
geom_waffle(
n_rows = 20 ,
size = 0.33 ,
colour = " white " ,
flip = TRUE
) +
scale_fill_manual(
name = NULL ,
values = c( " #a40000 " , " #c68958 " , " #ae6056 " ),
labels = c( " Fruit " , " Sammich " , " Pizza " )
) +
coord_equal() +
theme_ipsum_rc( grid = " " ) +
theme_enhance_waffle()
xdf % > %
count( parts , wt = vals ) % > %
ggplot(
aes( label = parts , values = n )
) +
geom_pictogram(
n_rows = 10 ,
aes( colour = parts ),
flip = TRUE ,
make_proportional = TRUE
) +
scale_color_manual(
name = NULL ,
values = c( " #a40000 " , " #c68958 " , " #ae6056 " ),
labels = c( " Fruit " , " Sammich " , " Pizza " )
) +
scale_label_pictogram(
name = NULL ,
values = c( " apple-alt " , " bread-slice " , " pizza-slice " ),
labels = c( " Fruit " , " Sammich " , " Pizza " )
) +
coord_equal() +
theme_ipsum_rc( grid = " " ) +
theme_enhance_waffle() +
theme(
legend.key.height = unit( 2.25 , " line " ),
legend.text = element_text( size = 10 , hjust = 0 , vjust = 0.75 )
)
xdf % > %
count( parts , wt = vals ) % > %
ggplot(
aes( label = parts , values = n )
) +
geom_pictogram(
n_rows = 20 ,
size = 6 ,
aes( colour = parts ),
flip = TRUE ,
family = " FontAwesome5Brands-Regular "
) +
scale_color_manual(
name = NULL ,
values = c( " #073f9c " , " black " , " #f34323 " ),
labels = c( " BitBucket " , " GitHub " , " Other " )
) +
scale_label_pictogram(
name = NULL ,
values = c( " bitbucket " , " github " , " git-alt " ),
labels = c( " BitBucket " , " GitHub " , " Other " )
) +
coord_equal() +
theme_ipsum_rc( grid = " " ) +
theme_enhance_waffle() +
theme(
legend.text = element_text( hjust = 0 , vjust = 1 )
)
library( hrbrthemes )
library( waffle )
library( tidyverse )
tibble(
parts = factor (rep( month.abb [ 1 : 3 ], 3 ), levels = month.abb [ 1 : 3 ]),
values = c( 10 , 20 , 30 , 6 , 14 , 40 , 30 , 20 , 10 ),
fct = c(rep( " Thing 1 " , 3 ), rep( " Thing 2 " , 3 ), rep( " Thing 3 " , 3 ))
) - > xdf
ggplot(
data = xdf ,
aes( fill = parts , values = values )
) +
geom_waffle(
color = " white " ,
size = 1.125 ,
n_rows = 6
) +
facet_wrap( ~ fct , ncol = 1 ) +
scale_x_discrete(
expand = c( 0 , 0 , 0 , 0 )
) +
scale_y_discrete(
expand = c( 0 , 0 , 0 , 0 )
) +
ggthemes :: scale_fill_tableau( name = NULL ) +
coord_equal() +
labs(
title = " Faceted Waffle Geoms "
) +
theme_ipsum_rc( grid = " " ) +
theme_enhance_waffle()
library( dplyr )
library( waffle )
storms % > %
filter( year > = 2010 ) % > %
count( year , status ) - > storms_df
ggplot(
data = storms_df ,
aes( fill = status , values = n )
) +
geom_waffle(
color = " white " ,
size = .25 ,
n_rows = 10 ,
flip = TRUE
) +
facet_wrap(
~ year ,
nrow = 1 ,
strip.position = " bottom "
) +
scale_x_discrete() +
scale_y_continuous(
labels = function ( x ) x * 10 , # make this multiplier the same as n_rows
expand = c( 0 , 0 )
) +
ggthemes :: scale_fill_tableau( name = NULL ) +
coord_equal() +
labs(
x = " Year " , y = " Count " ,
title = " Faceted Waffle Bar Chart " ,
subtitle = " {dplyr} storms data "
) +
theme_minimal(
base_family = " Roboto Condensed "
) +
theme(
panel.grid = element_blank(),
axis.ticks.y = element_line()
) +
guides(
fill = guide_legend( reverse = TRUE )
)
parts <- c( 80 , 30 , 20 , 10 )
waffle( parts , rows = 8 )
parts <- data.frame (
names = LETTERS [ 1 : 4 ],
vals = c( 80 , 30 , 20 , 10 )
)
waffle( parts , rows = 8 )
c(
`Un-breachednUS Population` = ( 318 - 11 - 79 ),
`Premera` = 11 ,
`Anthem` = 79
) - > parts
waffle(
parts = parts ,
rows = 8 ,
size = 1 ,
colors = c( " #969696 " , " #1879bf " , " #009bda " ),
legend_pos = " bottom "
)
السجلات الصحية تنتهك كجزء صغير من سكان الولايات المتحدة
مربع واحد == 1م شخص
waffle(
parts = parts / 10 ,
rows = 3 ,
colors = c( " #969696 " , " #1879bf " , " #009bda " )
)
السجلات الصحية تنتهك كجزء صغير من سكان الولايات المتحدة
(مربع واحد == 10 م شخص)
library( extrafont )
waffle(
parts = parts / 10 ,
rows = 3 ,
colors = c( " #969696 " , " #1879bf " , " #009bda " ),
use_glyph = " medkit " ,
size = 8
) +
expand_limits(
y = c( 0 , 4 )
)
عبر: https://www.nytimes.com/2008/07/20/business/20debt.html
c(
`Mortgagen($84,911)` = 84911 ,
`Auto andntuition loansn($14,414)` = 14414 ,
`Home equity loansn($10,062)` = 10062 ,
`Credit Cardsn($8,565)` = 8565
) - > savings
waffle(
parts = savings / 392 ,
rows = 7 ,
size = 0.5 ,
legend_pos = " bottom " ,
colors = c( " #c7d4b6 " , " #a3aabd " , " #a0d0de " , " #97b5cf " )
)
متوسط مدخرات الأسرة كل عام
(1 مربع == 392 دولارًا)
مشابه لـ https://eagereyes.org/techniques/square-pie-charts
professional <- c( `Male` = 44 , `Female (56%)` = 56 )
waffle(
parts = professional ,
rows = 10 ,
size = 0.5 ,
colors = c( " #af9139 " , " #544616 " )
)
مع:
iron(
waffle(
parts = c( thing1 = 0 , thing2 = 100 ),
rows = 5
),
waffle(
parts = c( thing1 = 25 , thing2 = 75 ),
rows = 5
)
)
بدون (يمكنك تعطيل هذا عبر معلمة keep
الآن):
iron(
waffle(
parts = c( thing1 = 0 , thing2 = 100 ),
rows = 5 ,
keep = FALSE
),
waffle(
parts = c( thing1 = 25 , thing2 = 75 ),
rows = 5 ,
keep = FALSE
)
)
ماكياج القوى العاملة المهنية
مثال حديدي (محاذاة إلى اليسار وحشو لمؤامرات متعددة)
pain.adult.1997 <- c( `YOY (406)` = 406 , `Adult (24)` = 24 )
waffle(
parts = pain.adult.1997 / 2 ,
rows = 7 ,
size = 0.5 ,
colors = c( " #c7d4b6 " , " #a3aabd " ),
title = " Paine Run Brook Trout Abundance (1997) " ,
xlab = " 1 square = 2 fish " , pad = 3
) - > A
pine.adult.1997 <- c( `YOY (221)` = 221 , `Adult (143)` = 143 )
waffle(
parts = pine.adult.1997 / 2 ,
rows = 7 ,
size = 0.5 ,
colors = c( " #c7d4b6 " , " #a3aabd " ),
title = " Piney River Brook Trout Abundance (1997) " ,
xlab = " 1 square = 2 fish " , pad = 8
) - > B
stan.adult.1997 <- c( `YOY (270)` = 270 , `Adult (197)` = 197 )
waffle(
parts = stan.adult.1997 / 2 ,
rows = 7 ,
size = 0.5 ,
colors = c( " #c7d4b6 " , " #a3aabd " ),
title = " Staunton River Trout Abundance (1997) " ,
xlab = " 1 square = 2 fish "
) - > C
iron( A , B , C )
cloc :: cloc_pkg_md()
لانج | #الملفات | (%) | خط السيطرة | (%) | خطوط فارغة | (%) | #خطوط | (%) |
---|---|---|---|---|---|---|---|---|
ر | 14 | 0.44 | 624 | 0.35 | 218 | 0.36 | 439 | 0.38 |
آر إم دي | 2 | 0.06 | 255 | 0.15 | 88 | 0.14 | 139 | 0.12 |
مجموع | 16 | 0.50 | 879 | 0.50 | 306 | 0.50 | 578 | 0.50 |
{ساعة}؟ مقاييس الهراء
يرجى ملاحظة أن هذا المشروع تم إصداره مع قواعد سلوك المساهمين. بمشاركتك في هذا المشروع فإنك توافق على الالتزام بشروطه.