r - 使用 ggplot2 在对数轴上绘制真正的线性关系
问题描述
有没有办法绘制线性关系(或几个线性关系)的线,其中一个轴具有对数刻度,并且线显示真正的线性关系(即实际图上不是直线),如以下?
以下代码将绘图上显示的内容绘制为一条直线,但由于 y 轴是对数刻度,因此它不会绘制真正的线性关系。
ggplot(df.m, aes(x, value, colour = variable)) +
geom_point(alpha = .5, shape = 20) +
xlab('Index of Multiple Deprivation (2015)') +
ylab('Average network distance to nearest 2ha+ greenspace (m)') +
scale_y_log10() +
geom_smooth(method=lm, se = FALSE)
它产生以下情节:
编辑:可重现的例子
ggplot(diamonds[1:5000, ], aes(x = carat, y = price, colour = cut)) +
geom_point(alpha = .5, shape = 20) +
xlim(0.5, 1.5) +
scale_y_log10(breaks = c(2500, 3000, 3500, 4000), limits = c(2500, 4000)) +
geom_smooth(method=lm, se = FALSE)
产生以下情节:
如您所见,尽管 y 轴具有对数刻度,但线条实际上仍然是直线。
解决方案
推荐阅读
- javascript - 如何将 Css 属性的值(以 px 为单位的高度)作为数字存储在 Javascript 变量中?
- css - Angular 材质使用带有 flex 布局的 add_outline 按钮添加额外空间
- flask - 扩展 Flask-Security 登录模板时遇到问题
- mysql - 根据 MySQL 中其他字段中的值为字段分配值
- reactjs - useContext 到底做了什么?
- c - 如何使用 HAL_UART 接收数据?
- database - Elasticsearch 索引:/fulltext_2/doc/xxxxx 导致阻塞:[FORBIDDEN/12/index 只读/允许删除
- python - 如何根据 Django 中的两个字段对查询集进行排序?
- sql-server - 更新 Excel 后,我不再能够使用 SQL 查询获取数据
- encryption - Flutter 中是否有等效的 Exo Player?