One way to look at this data is by drawing trend lines.
Line graph
library(tidyverse) # for data transformations
library(magrittr) # for piping
library(forcats) # for factor manipulations
data %>%
separate("type", c("price", "size"), sep=-2, remove = F) %>% # optional, separate 'type' into 'price' and 'size' bands
gather("product", "value", -c(price, size, type)) %>% # 'melt' products
mutate(type = fct_reorder(as.factor(type), value),
product = fct_reorder(as.factor(product), value)) %>% # optional, re-order 'type'/'product' factors by median 'value' numbers
ggplot() + geom_line(aes(x=type, y=value, color=product, group=product))

In case you would like a heatmap, there is another way to use that too.
Heat map
data %>%
separate("type", c("price", "size"), sep=-2, remove = F) %>%
gather("product", "value", -c(price, size, type)) %>%
mutate(type = fct_reorder(as.factor(type), value),
product = fct_reorder(as.factor(product), value)) %>%
ggplot() + geom_tile(aes(x=price, y=size, fill=value)) + facet_grid(product~.)

Explanation
Notice that in the line graph the 'type' factor is re-ordered by the median 'value' numbers. The plot shows that A1 tends to have lower value, whereas C2 tends to have higher value.
Similarly, in the heat map the 'product' factor is re-ordered by the median 'value' numbers. Looking at the plot you can tell that p4 has the highest median values, whereas p5 has the lowest median values.
You can play with re-ordering and faceting to identify different trends.