绘制直线的结果看起来不直

时间:2018-05-25 07:45:31

标签: r ggplot2

当绘制从(0,0)到(0.00856390,1)的直线时,得到的图(我使用RStudio)不显示直线。是否有办法(例如通过更改某些设置?)确保生成的线看起来笔直?

一些代码:

?eval_json

结果(该行有三个'扭曲'在其中):

enter image description here

2 个答案:

答案 0 :(得分:4)

猜猜你已经意识到了这一点,但想要涵盖所有基础:如果你正在寻找一条垂直线,你就不会得到一条,因为这些点不是&#39 ; t垂直于x轴。但如果你只是想要一条直线,那么这只是你出口的问题。您可能会或可能不会在查看器中看到直线。渲染取决于您的计算机的/监视器的设置和功能。 ggplot2的图形输出相当挑剔。

但是如果您导出图表,只需确保以足够高的质量进行操作,并且您的线条将直接显示,正如其他人所提到的那样。我使用以下内容导出为pdf,即使在我的查看器中它不直接,该行也是直的:

setwd("c:\\")    

DT = data.table(xval = c(0, 0.00856390),
    yval = c(0, 1))

DTplot <- ggplot(DT, aes(x = xval, y = yval)) + 
    geom_line() +
    scale_x_continuous(limits = c(0, 1),
        breaks = c(0, 1))

ggsave(DTplot, filename = "test.pdf", device = cairo_pdf, 
    width = 4, height = 3, units = "in")

真的,导出是最重要的,因为除了你自己以外,没有人会在你的屏幕上看到图表。

答案 1 :(得分:0)

user3603486的答案使我意识到,生成图形时,我可以简单地使用RMarkDown中的dpi设置。我现在(但当时不是)意识到,我应该补充一点,就是我在RMarkDown中生成了数字。使用dpi = 500,直线看起来很直。

此代码如下:

```{r echo=FALSE, fig.height=2.7, dpi=500}

ggplot_object

```