【问题标题】:Creating trendline from non numeric data and fixing border on pie chart从非数字数据创建趋势线并修复饼图上的边框
【发布时间】:2020-11-30 23:47:09
【问题描述】:

我正在尝试使用一列显示月份来创建趋势线。我希望它计算该月购买产品的案例数量,并显示特定月份购买产品数量之间的依赖关系。我知道我可以使用 barplot 来展示它,但我更喜欢用一条贯穿所有月份并创造销售高峰和低谷的线来做到这一点。

我还尝试使用相同的数据集在饼图周围制作边框,但我无法找到如何让它绕过数据​​片段而不是每个实例。

这是我的趋势线代码:

sprzed$W.jakim.miesiacu.kupil.Pan...Pani.motocykl.<-as.character(sprzed$W.jakim.miesiacu.kupil.Pan...Pani.motocykl.)
    sprzed$W.jakim.miesiacu.kupil.Pan...Pani.motocykl.<-factor(sprzed$W.jakim.miesiacu.kupil.Pan...Pani.motocykl., levels=c("Styczen","Luty","Marzec","Kwiecien","Maj","Czerwiec","Lipiec","Sierpien","Wrzesien","Pazdziernik","Listopad","Grudzien"))
    
    ggplot(sprzed, aes(x=W.jakim.miesiacu.kupil.Pan...Pani.motocykl., y=as.factor(Jakiej.marki.kupil.Pan...Pani.motocykl.))) + 
      geom_point() + 
      geom_smooth(method = "lm")

对于饼图:

p <- ggplot(sprzed, aes(x="",y="",fill=Jakiej.marki.kupil.Pan...Pani.motocykl.)) + 
      geom_bar(stat="identity") + 
      coord_polar("y", start=0)

    p + 
      geom_bar(stat="identity", color='black') +
      guides(fill=guide_legend(override.aes=list(colour=NA)))

[这是饼图现在的样子:]

还有我的数据:

structure(list(Sygnatura.czasowa = c("2020/11/29 5:05:05 PM CET", 
"2020/11/29 5:05:31 PM CET", "2020/11/29 5:05:54 PM CET", "2020/11/29 5:06:10 PM CET", 
"2020/11/29 5:06:23 PM CET", "2020/11/29 5:07:12 PM CET", "2020/11/29 5:08:00 PM CET", 
"2020/11/29 5:08:17 PM CET", "2020/11/29 5:08:21 PM CET", "2020/11/29 5:08:36 PM CET", 
"2020/11/29 5:08:51 PM CET", "2020/11/29 5:09:34 PM CET", "2020/11/29 5:10:10 PM CET", 
"2020/11/29 5:10:27 PM CET", "2020/11/29 5:10:47 PM CET", "2020/11/29 5:10:56 PM CET", 
"2020/11/29 5:11:11 PM CET", "2020/11/29 5:11:20 PM CET", "2020/11/29 5:11:50 PM CET", 
"2020/11/29 5:12:00 PM CET", "2020/11/29 5:12:18 PM CET", "2020/11/29 5:12:21 PM CET", 
"2020/11/29 5:12:53 PM CET", "2020/11/29 5:13:17 PM CET", "2020/11/29 5:13:20 PM CET", 
"2020/11/29 5:14:02 PM CET", "2020/11/29 5:14:25 PM CET", "2020/11/29 5:14:42 PM CET", 
"2020/11/29 5:14:43 PM CET", "2020/11/29 5:15:05 PM CET", "2020/11/29 5:15:07 PM CET", 
"2020/11/29 5:15:22 PM CET", "2020/11/29 5:15:37 PM CET", "2020/11/29 5:16:17 PM CET", 
"2020/11/29 5:16:33 PM CET", "2020/11/29 5:16:46 PM CET", "2020/11/29 5:16:50 PM CET", 
"2020/11/29 5:16:50 PM CET", "2020/11/29 5:17:11 PM CET", "2020/11/29 5:17:12 PM CET", 
"2020/11/29 5:17:20 PM CET", "2020/11/29 5:17:43 PM CET", "2020/11/29 5:17:57 PM CET", 
"2020/11/29 5:17:59 PM CET", "2020/11/29 5:18:35 PM CET", "2020/11/29 5:18:51 PM CET", 
"2020/11/29 5:18:53 PM CET", "2020/11/29 5:19:09 PM CET", "2020/11/29 5:19:26 PM CET", 
"2020/11/29 5:19:32 PM CET", "2020/11/29 5:19:45 PM CET", "2020/11/29 5:19:50 PM CET", 
"2020/11/29 5:19:50 PM CET", "2020/11/29 5:20:26 PM CET", "2020/11/29 5:20:36 PM CET", 
"2020/11/29 5:20:39 PM CET", "2020/11/29 5:21:07 PM CET", "2020/11/29 5:21:09 PM CET", 
"2020/11/29 5:21:30 PM CET", "2020/11/29 5:21:54 PM CET", "2020/11/29 5:22:28 PM CET", 
"2020/11/29 5:22:30 PM CET", "2020/11/29 5:22:45 PM CET", "2020/11/29 5:22:46 PM CET", 
"2020/11/29 5:22:47 PM CET", "2020/11/29 5:23:02 PM CET", "2020/11/29 5:23:22 PM CET", 
"2020/11/29 5:23:38 PM CET", "2020/11/29 5:23:40 PM CET", "2020/11/29 5:23:58 PM CET", 
"2020/11/29 5:24:14 PM CET", "2020/11/29 5:24:18 PM CET", "2020/11/29 5:24:41 PM CET", 
"2020/11/29 5:24:58 PM CET", "2020/11/29 5:25:06 PM CET", "2020/11/29 5:25:25 PM CET", 
"2020/11/29 5:25:48 PM CET", "2020/11/29 5:25:54 PM CET", "2020/11/29 5:27:21 PM CET", 
"2020/11/29 5:27:48 PM CET", "2020/11/29 5:28:20 PM CET", "2020/11/29 5:28:21 PM CET", 
"2020/11/29 5:29:06 PM CET", "2020/11/29 5:29:08 PM CET", "2020/11/29 5:29:57 PM CET", 
"2020/11/29 5:30:08 PM CET", "2020/11/29 5:30:29 PM CET", "2020/11/29 5:30:55 PM CET", 
"2020/11/29 5:30:56 PM CET", "2020/11/29 5:31:08 PM CET", "2020/11/29 5:31:17 PM CET", 
"2020/11/29 5:31:25 PM CET", "2020/11/29 5:31:57 PM CET", "2020/11/29 5:32:16 PM CET", 
"2020/11/29 5:32:32 PM CET", "2020/11/29 5:32:45 PM CET", "2020/11/29 5:33:01 PM CET", 
"2020/11/29 5:33:07 PM CET", "2020/11/29 5:33:35 PM CET", "2020/11/29 5:33:55 PM CET"
), W.ktorym.roku.kupil.Pan...Pani.motocykl. = c(2019L, 2019L, 
2019L, 2019L, 2019L, 2019L, 2019L, 2019L, 2020L, 2019L, 2019L, 
2020L, 2019L, 2019L, 2019L, 2020L, 2019L, 2020L, 2020L, 2019L, 
2019L, 2019L, 2020L, 2019L, 2020L, 2019L, 2020L, 2020L, 2019L, 
2019L, 2020L, 2019L, 2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 
2020L, 2020L, 2019L, 2019L, 2020L, 2019L, 2020L, 2019L, 2020L, 
2020L, 2020L, 2020L, 2019L, 2020L, 2020L, 2020L, 2020L, 2019L, 
2020L, 2019L, 2020L, 2020L, 2020L, 2019L, 2019L, 2020L, 2020L, 
2020L, 2020L, 2020L, 2019L, 2020L, 2019L, 2020L, 2020L, 2019L, 
2019L, 2019L, 2020L, 2019L, 2020L, 2019L, 2019L, 2020L, 2019L, 
2020L, 2019L, 2020L, 2020L, 2019L, 2020L, 2019L, 2020L, 2019L, 
2019L, 2019L, 2019L, 2020L, 2020L, 2019L, 2020L, 2020L), Jakiej.jest.Pan...Pani.plci. = c("Kobieta", 
"Kobieta", "Kobieta", "Kobieta", "Kobieta", "Kobieta", "Kobieta", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Kobieta", 
"Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Kobieta", "Kobieta", "Mezczyzna", "Kobieta", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", 
"Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Kobieta", 
"Kobieta", "Kobieta", "Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", 
"Kobieta", "Kobieta", "Kobieta", "Kobieta", "Kobieta", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Kobieta", "Kobieta", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Kobieta", "Kobieta", 
"Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Kobieta", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", "Mezczyzna", 
"Mezczyzna", "Mezczyzna", "Mezczyzna", "Kobieta", "Mezczyzna"
), Jaki.jest.Pana...Pani.status.spoleczny = c("Student", "Pracownik fizyczny", 
"Pracownik fizyczny", "Pracownik umyslowy", "Pracownik fizyczny", 
"Pracownik fizyczny", "Pracownik fizyczny", "Pracownik fizyczny", 
"Student", "Pracownik fizyczny", "Student", "Pracownik fizyczny", 
"Pracownik fizyczny", "Pracownik umyslowy", "Pracownik fizyczny", 
"Bezrobotny", "Bezrobotny", "Pracownik umyslowy", "Pracownik fizyczny", 
"Pracownik fizyczny", "Pracownik umyslowy", "Pracownik fizyczny", 
"Bezrobotny", "Pracownik umyslowy", "Student", "Pracownik umyslowy", 
"Bezrobotny", "Pracownik fizyczny", "Pracownik fizyczny", "Student", 
"Student", "Pracownik fizyczny", "Pracownik fizyczny", "Pracownik umyslowy", 
"Student", "Student", "Pracownik umyslowy", "Pracownik fizyczny", 
"Pracownik umyslowy", "Pracownik fizyczny", "Pracownik umyslowy", 
"Pracownik umyslowy", "Student", "Pracownik umyslowy", "Pracownik fizyczny", 
"Pracownik umyslowy", "Pracownik umyslowy", "Pracownik umyslowy", 
"Pracownik fizyczny", "Student", "Student", "Student", "Pracownik fizyczny", 
"Pracownik umyslowy", "Pracownik fizyczny", "Pracownik umyslowy", 
"Pracownik fizyczny", "Pracownik fizyczny", "Student", "Pracownik umyslowy", 
"Bezrobotny", "Pracownik fizyczny", "Pracownik umyslowy", "Student", 
"Pracownik fizyczny", "Pracownik umyslowy", "Bezrobotny", "Student", 
"Pracownik umyslowy", "Pracownik fizyczny", "Pracownik fizyczny", 
"Bezrobotny", "Student", "Pracownik umyslowy", "Pracownik fizyczny", 
"Pracownik umyslowy", "Pracownik fizyczny", "Pracownik fizyczny", 
"Pracownik fizyczny", "Pracownik fizyczny", "Pracownik fizyczny", 
"Bezrobotny", "Pracownik fizyczny", "Pracownik fizyczny", "Pracownik fizyczny", 
"Student", "Student", "Pracownik umyslowy", "Pracownik umyslowy", 
"Pracownik umyslowy", "Pracownik fizyczny", "Pracownik umyslowy", 
"Pracownik umyslowy", "Pracownik umyslowy", "Pracownik umyslowy", 
"Student", "Pracownik fizyczny", "Pracownik fizyczny", "Pracownik fizyczny", 
"Pracownik fizyczny"), Do.jakiej.grupy.wiekowej.Pan...Pani.nalezy. = c("18 - 25", 
"26 -35", "36 - 45", "46 - 55", "36 - 45", "56 - 65", "46 - 55", 
"36 - 45", "18 - 25", "46 - 55", "18 - 25", "26 -35", "26 -35", 
"26 -35", "> 65", "18 - 25", "18 - 25", "36 - 45", "18 - 25", 
"46 - 55", "56 - 65", "26 -35", "18 - 25", "56 - 65", "18 - 25", 
"46 - 55", "18 - 25", "26 -35", "26 -35", "18 - 25", "18 - 25", 
"46 - 55", "26 -35", "26 -35", "18 - 25", "18 - 25", "46 - 55", 
"26 -35", "26 -35", "26 -35", "46 - 55", "18 - 25", "18 - 25", 
"26 -35", "26 -35", "46 - 55", "18 - 25", "56 - 65", "36 - 45", 
"18 - 25", "18 - 25", "18 - 25", "36 - 45", "18 - 25", "18 - 25", 
"36 - 45", "18 - 25", "18 - 25", "18 - 25", "26 -35", "18 - 25", 
"36 - 45", "36 - 45", "18 - 25", "26 -35", "26 -35", "18 - 25", 
"18 - 25", "56 - 65", "36 - 45", "26 -35", "18 - 25", "26 -35", 
"26 -35", "26 -35", "36 - 45", "26 -35", "46 - 55", "26 -35", 
"26 -35", "26 -35", "18 - 25", "36 - 45", "36 - 45", "56 - 65", 
"18 - 25", "18 - 25", "26 -35", "36 - 45", "36 - 45", "26 -35", 
"46 - 55", "46 - 55", "46 - 55", "36 - 45", "18 - 25", "36 - 45", 
"46 - 55", "26 -35", "46 - 55"), Jaki.kupil.Pan...Pani.motocykl. = c("Uzywany", 
"Uzywany", "Uzywany", "Nowy", "Nowy", "Uzywany", "Nowy", "Nowy", 
"Uzywany", "Uzywany", "Uzywany", "Nowy", "Uzywany", "Uzywany", 
"Uzywany", "Uzywany", "Nowy", "Nowy", "Nowy", "Nowy", "Nowy", 
"Uzywany", "Uzywany", "Nowy", "Uzywany", "Uzywany", "Uzywany", 
"Uzywany", "Uzywany", "Uzywany", "Nowy", "Nowy", "Uzywany", "Uzywany", 
"Uzywany", "Uzywany", "Nowy", "Uzywany", "Uzywany", "Uzywany", 
"Uzywany", "Nowy", "Uzywany", "Nowy", "Uzywany", "Nowy", "Uzywany", 
"Uzywany", "Uzywany", "Nowy", "Nowy", "Uzywany", "Nowy", "Uzywany", 
"Uzywany", "Uzywany", "Uzywany", "Uzywany", "Uzywany", "Uzywany", 
"Uzywany", "Nowy", "Nowy", "Uzywany", "Uzywany", "Nowy", "Nowy", 
"Nowy", "Uzywany", "Uzywany", "Nowy", "Nowy", "Uzywany", "Nowy", 
"Nowy", "Uzywany", "Uzywany", "Uzywany", "Uzywany", "Uzywany", 
"Uzywany", "Nowy", "Uzywany", "Nowy", "Nowy", "Uzywany", "Uzywany", 
"Nowy", "Nowy", "Uzywany", "Uzywany", "Nowy", "Uzywany", "Nowy", 
"Nowy", "Uzywany", "Uzywany", "Nowy", "Uzywany", "Uzywany"), 
    Jakiej.marki.kupil.Pan...Pani.motocykl. = c("Honda", "Honda", 
    "Yamaha", "Kawasaki", "Honda", "Harley Davidson", "Kawasaki", 
    "Junak", "Yamaha", "Romet", "Honda", "Kawasaki", "Bmw", "Suzuki", 
    "Harley Davidson", "Honda", "Honda", "Harley Davidson", "Suzuki", 
    "Bmw", "KTM", "Yamaha", "Junak", "Suzuki", "Suzuki", "Benelli", 
    "Honda", "Yamaha", "Kawasaki", "Honda", "Kawasaki", "Kawasaki", 
    "Bmw", "Honda", "Yamaha", "Yamaha", "KTM", "KTM", "Suzuki", 
    "Yamaha", "Kawasaki", "Yamaha", "Yamaha", "Suzuki", "Yamaha", 
    "Benelli", "Yamaha", "Bmw", "Suzuki", "Romet", "Junak", "Yamaha", 
    "Suzuki", "Suzuki", "Honda", "Romet", "Yamaha", "Honda", 
    "Yamaha", "Yamaha", "Suzuki", "Benelli", "Junak", "Honda", 
    "Suzuki", "Honda", "Kawasaki", "Kawasaki", "Yamaha", "Kawasaki", 
    "Suzuki", "Suzuki", "Yamaha", "Kawasaki", "Yamaha", "Harley Davidson", 
    "Suzuki", "Honda", "Bmw", "Kawasaki", "Kawasaki", "Kawasaki", 
    "Romet", "Junak", "Yamaha", "Junak", "Yamaha", "Honda", "KTM", 
    "Kawasaki", "Romet", "Honda", "Yamaha", "Yamaha", "Honda", 
    "Honda", "Yamaha", "Yamaha", "Honda", "Honda"), Pana...Pani.motocykl.jest. = c("Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Sprowadzony zza granicy", 
    "Kupiony w Polsce", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Kupiony w Polsce", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Kupiony w Polsce", 
    "Kupiony w Polsce", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Sprowadzony zza granicy", "Sprowadzony zza granicy", "Sprowadzony zza granicy", 
    "Kupiony w Polsce", "Sprowadzony zza granicy", "Sprowadzony zza granicy"
    ), W.jakim.miesiacu.kupil.Pan...Pani.motocykl. = structure(c(1L, 
    3L, 4L, 9L, 10L, 7L, 7L, 6L, 3L, 4L, 1L, 5L, 7L, 9L, 11L, 
    8L, 5L, 5L, 4L, 3L, 6L, 11L, 8L, 9L, 4L, 12L, 5L, 6L, 6L, 
    7L, 3L, 8L, 6L, 10L, 1L, 3L, 4L, 4L, 4L, 6L, 4L, 10L, 4L, 
    3L, 4L, 3L, 1L, 5L, 3L, 2L, 11L, 3L, 7L, 1L, 9L, 5L, 8L, 
    9L, 1L, 2L, 6L, 6L, 3L, 5L, 3L, 4L, 7L, 6L, 10L, 3L, 6L, 
    1L, 10L, 10L, 5L, 1L, 12L, 4L, 2L, 3L, 6L, 6L, 4L, 2L, 4L, 
    7L, 5L, 9L, 6L, 4L, 6L, 1L, 4L, 4L, 9L, 2L, 3L, 4L, 6L, 1L
    ), .Label = c("Styczen", "Luty", "Marzec", "Kwiecien", "Maj", 
    "Czerwiec", "Lipiec", "Sierpien", "Wrzesien", "Pazdziernik", 
    "Listopad", "Grudzien"), class = "factor")), row.names = c(NA, 
-100L), class = "data.frame")

我将非常感谢任何提示!

【问题讨论】:

    标签: r ggplot2 geom-point


    【解决方案1】:

    我设法解决了饼图问题,我就是这样做的:

    library(RColorBrewer)
    
     mypalette<-brewer.pal(10,"RdYlBu")
          
        ggplot(sprzed, aes(x=factor(1), fill=factor(Jakiej.marki.kupil.Pan...Pani.motocykl.))) + 
          geom_bar(width=1, color="black") + 
          scale_fill_manual("Marka motocykla",values = mypalette)+
          coord_polar("y", start=0)+
          theme(text = element_text(size=24),
                axis.title.x=element_blank(),
                axis.text.x=element_blank(),
                axis.ticks.x=element_blank(),
                axis.title.y=element_blank(),
                axis.text.y=element_blank(),
                axis.ticks.y=element_blank()
                )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 2017-03-07
      • 2020-04-12
      • 1970-01-01
      • 2014-12-13
      相关资源
      最近更新 更多