使用ggplot2在R中的5D图

时间:2019-05-03 08:18:35

标签: r ggplot2 data-visualization

我正在使用以下代码绘制5D可视化效果。尽管图形生成成功,但是MUF40图例中还有一个额外的项目出现(第一个项目)。我想知道代码中是否有错误!

在RStudio上更新某些软件包(例如Keras,Tensoreflow,cluster等)之前,代码可以正常工作而没有任何问题。

SLAMUF <- read.csv("/Users/Ayyoub/Desktop/MUF-SLA-Ver2.11/csla_dataset.csv")
library("ggplot2")
require("ggplot2")

SLAMUF$QoS.cat <- cut(SLAMUF$QoS, quantile(SLAMUF$QoS, (0:5)/5), include.lowest = T)

ggplot(SLAMUF, aes(x=SP.InP.SP, y=SP.SP.EU, size=MUF40, color=penalty)) +
  geom_point(shape=21) +
  scale_color_gradient(low="black", high="red") +
  facet_grid(. ~ QoS.cat) +
  labs(subtitle = "Five ranges of QoS")+
  guides(size = guide_legend(order = 1)) +
  theme(legend.position = "right", 
        axis.text.x = element_text(face="bold", angle=45),
        axis.text.y = element_text(face="bold", angle=45),
        plot.subtitle = element_text(hjust = 0.5)
       )
ggsave("/Users/Ayyoub/Desktop/MUF-SLA-Ver2.11/plot3/MUF40.pdf", width=12, height=6)

> source('~/Desktop/MUF-SLA-Ver2.11/5Dvisualisation-Dataset-test.R')
Warning messages:
1: Using size for a discrete variable is not advised. 
2: Removed 2 rows containing missing values (geom_point). 

Produced graph with an extra item in MUF40 legend

2 个答案:

答案 0 :(得分:0)

您需要关闭尺寸图例项。

library(ggplot2)

ggplot(mtcars, aes(x = mpg, y = disp, size = cyl, color = vs)) +
  theme_bw() +
  scale_size_continuous(guide = FALSE) +
  geom_point()

答案 1 :(得分:0)

我根据标签猜测,您的if(OrderId==OrderId)变量具有序数性质,对吗? (离散类别,但有序)。如果是这种情况,我建议您删除if request.method == "POST": OrderId = request.POST.get("OrderId") so = OrderItem.objects.filter(OrderId=OrderId) return render(request, 'restaurants/see_order.html', {'so': so}) 语句并添加以下内容:

MUF40

如果您的guides(size = guide_legend(order = 1))变量是一个因素并且正确地排列了级别,则从理论上讲应该将大小变量限制为数据中的级别。

如果这样做没有帮助,则可能需要查看scale_size_discrete(breaks = levels(SLAMUF$MUF40), limits = levels(SLAMUF$MUF40)) 的值,看看是否有异常,例如MUF40SLAMUF$MUF40 ,空字符串等。