首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复ggtext的渲染组合字符,如Ě或or?

如何修复ggtext的渲染组合字符,如Ě或or?
EN

Stack Overflow用户
提问于 2022-03-28 12:35:33
回答 2查看 85关注 0票数 3

我的标签使用**ggtext**有问题,如果我使用组合字符(如element_markdown或ĚŠČŘŽ),则会在文本后面添加额外的空格/呈现空格。我的代码如下所示:

代码语言:javascript
复制
library(ggplot2)
library(tidyverse)
library(ggtext)

df_x <- c(runif(6, min = 1, max = 2)) 
df_y <- c(rep("A", 3), rep("B", 3))
df_lab <- c("Čžěčh Přóblém", "Gërmän pröbëm töö", as.character(1:4))

tibble(df_x, df_y, df_lab) %>%
  ggplot(aes(x = df_x, y = df_y, fill = df_lab)) +
  geom_bar(position = "stack", stat = "identity") + 
  theme(legend.text = element_markdown())

我相信这是一个很基本的问题,但却找不到如何处理这个问题。

图片:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-28 14:23:19

您还可以使用下面的代码更改您的system locale

代码语言:javascript
复制
Sys.setlocale("LC_CTYPE", "Czech")

样本代码:

代码语言:javascript
复制
library(ggplot2)
library(tidyverse)
library(ggthemes)

Sys.setlocale("LC_CTYPE", "Czech")

tibble(df_x, df_y, df_lab) %>%
      ggplot(aes(x = df_x, y = df_y, fill = df_lab)) +
      geom_bar(position = "stack", stat = "identity") + 
      theme_par()+
      labs(x="dfx",y="dfy")+
      theme(axis.text.x = element_text(hjust = 1, face="bold", size=12, color="black"), 
            axis.title.x = element_text(face="bold", size=16, color="black"),
            axis.text.y = element_text(face="bold", size=12, color="black"),
            axis.title.y = element_text(face="bold", size=16, color="black"),
            strip.text = element_text(size=10, face="bold"),
            plot.title = element_text(size=20, face="bold"),
            legend.position = "top",
            legend.title = element_blank(),
            legend.text = element_text(color = "black", size = 16,face="bold"))

情节:

或者使用legendright

样本数据:

代码语言:javascript
复制
df_x <- c(runif(6, min = 1, max = 2)) 
df_y <- c(rep("A", 3), rep("B", 3))
df_lab <- c("Čžěčh Přóblém", "Gërmän pröbëm töö", as.character(1:4))
票数 1
EN

Stack Overflow用户

发布于 2022-03-28 12:53:47

当我将ě和in组合在一起时,输出就没有问题了。我把你的角色从Čžěčh Přóblém改为Čžěčh Přöblém,它结合了ěö。产出看上去仍然不错。查看下面的代码和输出:

代码语言:javascript
复制
library(ggplot2)
library(tidyverse)
library(ggtext)

df_x <- c(runif(6, min = 1, max = 2)) 
df_y <- c(rep("A", 3), rep("B", 3))
df_lab <- c("Čžěčh Přöblém", "Gërmän pröbëm töö", as.character(1:4))

tibble(df_x, df_y, df_lab) %>%
  ggplot(aes(x = df_x, y = df_y, fill = df_lab)) +
  geom_bar(position = "stack", stat = "identity") + 
  theme(legend.text = element_markdown())

输出:

这个传说表现得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71647567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档