如何在轴标签中引用gunplot2数字的siunitx单位?

时间:2018-04-17 16:26:26

标签: r ggplot2 latex knitr

我有一个 private void Btn_Click(object sender, EventArgs e) { try { connection.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = connection; cmd.CommandText = "insert into Account (Nick,Password) values ('" + NickEnter.Text + "', '" + PassEnter.Text + "');"; cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show("Error! | " + ex, "Error!"); } } Rnw文件(带嵌入式R的LaTeX)导入knitr包。我使用siunitx声明单位,我想在我的\DeclareSIUnit数字中引用轴标签中的这些单位。我已经尝试了ggplot()的主分支,但它不能满足我的需要。帮助

最低工作示例:

latex2enc

1 个答案:

答案 0 :(得分:0)

我最后也在RStudio社区问我的问题:https://community.rstudio.com/t/how-to-reference-siunitx-units-in-axis-labels-for-ggplot2-figures/8038/8

我得到了两个答案,这两个答案都产生了有用的输出,但在我看来,最好的答案是baptiste的最后一个答案。编译时间有一个非平凡的增加,但是宏被正确使用,并且作为奖励,图中使用与文档其余部分相同的字体。这是我的MWE的修改版本:

\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit{\dunit}{\SIUnitSymbolDegree Du}
\begin{document}
    <<setup, include=TRUE>>=
    library(ggplot2)
    @

    <<works-and-looks-good-too, echo=TRUE, dev='tikz'>>=
    library(tikzDevice)
    ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_line(aes(linetype=Species)) + ylab("$\\si{\\dunit}$")
    @

\end{document}