R 如何使用unicode箭头导出高分辨率ggplot图形
我正在努力导出以下带有Unicode箭头的ggplot2图形图例。 这是绘图缩放输出 用于创建此图例的代码如下所示:R 如何使用unicode箭头导出高分辨率ggplot图形,r,ggplot2,cairo,R,Ggplot2,Cairo,我正在努力导出以下带有Unicode箭头的ggplot2图形图例。 这是绘图缩放输出 用于创建此图例的代码如下所示: legend <- ggplot() + geom_tile( data = bivariate_color_scale, mapping = aes( x = gini, y = mean, fill = fill) ) + scale_fill_identity() + labs(y ="Hi
legend <- ggplot() +
geom_tile(
data = bivariate_color_scale,
mapping = aes(
x = gini,
y = mean,
fill = fill)
) +
scale_fill_identity() +
labs(y ="Higher bus. density →",
x = "Higher patent growth →",
title = "Legend") +
theme_minimal()+
theme(
panel.grid.minor = element_blank(),
panel.grid.major = element_blank(),
axis.line = element_blank(),
axis.ticks = element_blank(),
panel.border = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank()
) +
# make font small enough
theme(axis.title = element_text(size = 8)) +
# quadratic tiles
coord_fixed()
而且
ggsave(filename="legend.pdf",
plot = legend,
dpi = 300,
device = cairo_pdf,
width = 210,
height = 180,
units = "mm"
)
两个代码都没有正确翻译/保存Unicode箭头,请参见以下输出
有没有人对我如何使用Unicode箭头以高分辨率导出此图形提出建议?
先谢谢你
资料
对于Unicode字符的显示,您可以使用expression,或者我的首选项使用sprintf,然后使用序言调用与文本内联的字符\u。请参见以下示例:
df <- data.frame(x=1:10, y=1:10)
ggplot(df, aes(x,y)) + geom_point() +
labs(
title=paste("This Title has an up arrow!", sprintf('\u2191')),
x=paste('The x axis goes this way:', sprintf('\u2794')),
y=paste('The y axis is this way:',sprintf('\u2190'))
)
对于Unicode字符的显示,您可以使用expression,或者我的首选项使用sprintf,然后使用序言调用与文本内联的字符\u。请参见以下示例:
df <- data.frame(x=1:10, y=1:10)
ggplot(df, aes(x,y)) + geom_point() +
labs(
title=paste("This Title has an up arrow!", sprintf('\u2191')),
x=paste('The x axis goes this way:', sprintf('\u2794')),
y=paste('The y axis is this way:',sprintf('\u2190'))
)
基本问题是,您需要使用一种实际包含要显示的unicode符号的字体。您没有指定特定的字体,因此图形设备可以自由选择,png和pdf都选择没有符号的Helvetica。交互式设备可能会选择Arial When you on Windows?,它确实有这个符号 代码设置 图书馆GGPLOT2
双变量颜色比例基本问题是,您需要使用实际包含要显示的unicode符号的字体。您没有指定特定的字体,因此图形设备可以自由选择,png和pdf都选择没有符号的Helvetica。交互式设备可能会选择Arial When you on Windows?,它确实有这个符号 代码设置 图书馆GGPLOT2
双变量颜色比例这似乎是字体问题。我无法在我的机器上复制它。要尝试的两件事是1,而不是在字符串use\U2192中使用箭头符号。2尝试不同的字体系列-也许可以尝试MeText=element\u textfamily=Serifal。因此,您更有可能获得有关可复制示例的帮助。我在你问题的底部添加了一些数据,这些数据可以与你的代码一起用于重新创建绘图。这可能是字体问题。我无法在我的机器上复制它。要尝试的两件事是1,而不是在字符串use\U2192中使用箭头符号。2尝试不同的字体系列-也许可以尝试MeText=element\u textfamily=Serifal。因此,您更有可能获得有关可复制示例的帮助。我已经在你问题的底部添加了一些数据,这些数据可以与你的代码一起用于重新创建绘图。很抱歉回答得太晚。这工作做得非常好:很抱歉反应太晚。这样做效果非常好:
df <- data.frame(x=1:10, y=1:10)
ggplot(df, aes(x,y)) + geom_point() +
labs(
title=paste("This Title has an up arrow!", sprintf('\u2191')),
x=paste('The x axis goes this way:', sprintf('\u2794')),
y=paste('The y axis is this way:',sprintf('\u2190'))
)