我刚在Mac OS X上安装了RStudio,版本10.7.3 执行以下命令后
library(ggplot2)
qplot(mpg, wt, data=mtcars)
我收到以下错误:
Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
Polygon edge not found
In addition: Warning messages:
1: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
no font could be found for family "Arial"
2: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
no font could be found for family "Arial"
任何想法,重启都没有用!!
干杯
答案 0 :(得分:38)
这发生在我身上,我发现arial字体文件已被禁用。首先检查Arial.ttf
是否已移至禁用字体目录。来自终端:
ls /Library/Fonts\ Disabled
如果是,请将其移回活动字体目录。
sudo mv /Library/Fonts\ Disabled/Arial.ttf /Library/Fonts
注销,登录,然后打开“Font Book”应用程序。在我的情况下,arial存在于手中,但它是存储在/Library/fonts/Microsoft/
中的Microsoft版本。字体书现在可以在字体名称旁边显示一个黄色三角形,表示存在多个字体副本。突出显示字体名称,然后从Resolve Duplicates
菜单中选择Edit
命令。这应该禁用Microsoft副本,您可以通过选择其中一个arial类型面来确认(单击字体名称旁边的展开三角形),右键单击标有Off
的那个,然后选择{{1} },它应该打开一个指向Microsoft fonts目录的窗口。
答案 1 :(得分:13)
所以我在几周之前的代码中遇到了同样的问题,而且计算机上没有任何大量的更新(除了操作系统,现在我可以考虑一下......)。 我解决它的方式是我通过调用
强制打开图形窗口quartz()
在我的图表之前,它完成了诀窍。仍然不确定字体,我似乎有Arial到位。
答案 2 :(得分:3)
在一次又一次地遇到同样的问题并尝试不同的解决方案后,我决定从外部获取 Arial 字体并将其添加到 Font Book 。在本练习之前,我有许多MS Office附带的字体,如Arial Black,Arial Narrow,因此只有没有普通 Arial 字体可见。我猜这可以通过Mac上的MS应用程序应用的奇怪字体策略来解释,这将在更详细的讨论here中进行讨论。然而,似乎外部添加字体解决了这个问题。
答案 3 :(得分:3)
正如其他人所说,这个问题肯定与Microsoft Office升级有关(我的公司刚刚在问题浮出水面之前立即升级了软件)。
尝试运行简单的ggplot2图后,我收到以下错误和警告:
Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
polygon edge not found
Warning messages:
1: In grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) :
no font could be found for family "Arial"
我通过执行以下操作解决了这个问题:
(1)打开字体书
(2)导航到Arial字体
(3)右键单击 - > “恢复字体”
然后情节完美呈现。
我希望这有帮助!
答案 4 :(得分:2)
我在qqplot()函数中添加了一个额外的参数,如下所示:
theme(text=element_text(family="Garamond", size=14))
果然 - 得到了一张图表。最终结果是:
ggplot(train, aes(x = pclass, fill = factor(survived))) +
geom_bar() +
xlab("Pclass") +
ylab("Total Count") +
labs(fill = "Survived") +
theme(text=element_text(family="Garamond", size=14))
我确实打开了Font Book,在我的系统上(Mac OSX 10.12.3)显示Arial已关闭。我确实安装了Microsoft应用程序,包括MS Excel,但我现在无法将任何字体的禁用与任何MS应用程序的安装相关联。 HTH
答案 5 :(得分:2)
经过几次试验,我认为此“修复”可以有所帮助。 首先尝试运行此命令以确保字体确实存在:
loadfonts(dev="win")
如果有,请致电以下内容,以确保您要呼叫的名称与R知道的名称相似:
windowsFonts()
否则,请尝试以下操作:
library(extrafont)
extrafont::font_import()
以上为我解决的问题。希望将来有人能得到同样的帮助。
答案 6 :(得分:1)
我遇到了同样的问题(有趣的是,我在调用" spplot"函数而不是任何ggplot2函数时收到错误)。因为我最近安装了MS Office for Mac,我尝试按原先的建议禁用MS重复的Arial字体,但是在执行此操作后仍然会反复收到错误消息。我最终只是删除所有MS Office重复字体(转到 - >计算机 - > Macintosh HD --->库 - >字体,然后将Microsoft文件夹移动到废纸篓)。我不确定这会对我的MS应用程序产生什么影响,但它似乎已经解决了我的R问题,这对我来说无论如何更重要!
答案 7 :(得分:1)
我决定转到Font Book,转到File - >恢复标准字体。
答案 8 :(得分:1)
我遇到了同样的问题,重置绘图区域 (dev.off()
) 就足够了。
答案 9 :(得分:0)
我在更新操作系统和全新安装的MS Office后遇到了同样的问题,这似乎是罪魁祸首。
由于我无法使终端方法工作,我只是直接进入Font Book并手动启用了禁用字体(Arial,Times New Roman,Verdana)。重新启动后,现在一切似乎都正常。
这让我觉得这是最天真的解决方案,但实施imho也是最简单的。
答案 10 :(得分:0)
我在使用该功能时遇到了类似的问题:
ggarrange (ggpubr package)
通过手动停用和激活包(通过单击“包”中的包)解决了这个问题。也许这也有助于其他人:)
答案 11 :(得分:0)
对于mac操作系统,我尝试了很多选项,但最后工作。 - 打开字体书并删除禁用(启用)arial字体。 - 重新启动计算机。
答案 12 :(得分:0)
在MacOS上工作时,我得到了相同的错误消息,并带有警告,而不是Arial the Roboto Condensed字体。因此,我安装了这些内容,这些内容删除了警告,但没有删除错误消息。
import React from "react";
import { View, TextInput, StyleSheet, Text } from "react-native";
import {
widthPercentageToDP as wp,
heightPercentageToDP as hp,
} from "react-native-responsive-screen";
import { MaterialCommunityIcons, AntDesign } from "@expo/vector-icons";
class RegisterTextBox extends React.Component {
constructor(props) {
super(props);
this.state = {
borderColor: "",
isFocused: false,
};
}
onBlur() {
this.setState({ isFocused: false });
}
onFocus() {
this.setState({ isFocused: true });
}
render() {
const { isFocused } = this.state;
const {
value,
placeholder,
onChangeText,
secureTextEntry,
inputStyle,
viewStyle,
showIcon = this.state.showIcon,
eyeIcon = false,
} = this.props;
return (
<View style={[styles.container, viewStyle]}>
<TextInput
style={[styles.main, { borderBottomColor: this.state.borderColor }]}
value={value}
onChangeText={onChangeText}
onBlur={() => this.onBlur()}
onFocus={() => this.onFocus()}
placeholder={placeholder}
secureTextEntry={secureTextEntry}
onChangeText={(val) => this.updateInputVal(val, "confirmPassword")}
/>
{isFocused ? (
<AntDesign
name="checkcircle"
size={18}
color="black"
style={{ paddingTop: 8 }}
/>
) : (
<View />
)}
{eyeIcon ? (
<MaterialCommunityIcons
name="eye-off"
size={24}
color="black"
style={{ paddingTop: 5, paddingLeft: 5 }}
/>
) : (
<View />
)}
</View>
);
}
}
const styles = StyleSheet.create({
container: {
height: hp(5.4),
width: wp(65.2),
borderBottomWidth: 1,
flexDirection: "row",
justifyContent: "space-between",
},
main: {
flex: 1,
},
});
export default RegisterTextBox;
然后我在https://community.rstudio.com/t/still-fighting-with-grid-call-c-textbounds-as-graphicsannot-x-label-x-x-x-y-polygon-edge-not-found-error/65559找到了重新安装X11 https://www.xquartz.org的提示。
此后,错误消失了,但是当代码在R文件中时,它仍然没有画出。但是,当我从R-markdown文档中编织RStudio时,它确实起作用。
答案 13 :(得分:0)
我不是很擅长这个,所以我不能先问最基本的问题,请原谅我:slight_smile:
我知道 R 控制台作业和 Rstudio 开始在图形绘图任务中失败,现在当您运行琐碎的绘图请求时,您会收到失败错误,并且没有绘图。
您重置会话了吗? (Ctrl+Shift+F10) 有时会话毕竟会损坏。
或者,如果您想尝试其他方法,在该路线之前,暂停图形设备可能是值得的。 dev.off() 并再次尝试该基本图。
当然,如果您的问题一直存在,并且一直持续到新的会议,那么我肯定不得不向其他具有更多专业知识的人低头考虑这个问题。
问候, 尼尔
答案 14 :(得分:0)
奇怪的错误。但对我来说,在 mac 上,解决方案很简单:只需更新 Xquartz。
用cmd + space打开spotlight搜索,搜索Xquartz
打开后,转到 about -> Check for updates -> Update。
答案 15 :(得分:0)
为了快速测试此错误是否是字体相关问题的结果,您可以尝试在没有任何文本的情况下进行绘图(请参阅下面的代码)。如果第二个无文本绘图有效并且您使用的是 Mac,我会使用与其他人类似的方法并执行以下操作:
Font Book
以打开该应用Disabled Arial
Enable Arial
Resolve Duplicates
时选择 Resolve Automatically
# test whether error is being generated by a font issue
library(ggplot2)
# this fails with font issue
mtcars %>%
ggplot() +
aes(x = wt, y = mpg) +
geom_point()
# remove all fonts to test if issue is font-related
mtcars %>%
ggplot() +
aes(x = wt, y = mpg) +
geom_point() +
theme(text = element_blank())