Listeler

Google Sheets API, e-tablolarda aşağıdaki gibi grafikler oluşturmanıza ve mevcut grafikleri güncellemenize olanak tanır: gerekir. Bu sayfadaki örnekler bazı yaygın proje yönetimi yaklaşımlarını E-Tablolar API'si ile grafik işlemlerini görüntüleyin.

Bu örnekler, HTTP istekleri şeklinde sunulur. nötr. Bir toplu güncellemeyi farklı dillerde nasıl uygulayacağınızı öğrenmek için hakkında daha fazla bilgi edinmek için Güncelleme e-tablolar gibi).

Bu örneklerde SPREADSHEET_ID ve SHEET_ID yer tutucuları bu kimlikleri nereye sağlayacağınızı belirtir. E-tabloyu kimliği ekleyin. Şundan faydalanabilirsiniz: sayfa kimliğini değiştirmek için spreadsheets.get yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan aralıklar A1 gösterimi kullanılarak belirtilir. örnek aralık Sayfa1!A1:D5'tir.

Ayrıca CHART_ID yer tutucusu, belirli bir grafiğe dökülebilir. E-Tablolar API'si ile grafik oluştururken bu kimliği ayarlayabilirsiniz. veya Sheets API'nin sizin için bir tane oluşturmasına izin verin. Kimlik bilgilerini alabilirsiniz: mevcut grafiklerle spreadsheets.get yöntemini kullanabilirsiniz.

Son olarak SOURCE_SHEET_ID yer tutucusu, sayfanızı kaynak verilerdir. Aşağıdaki örneklerde bu, Grafik kaynağı altında listelenen tablodur. verileri ile karşılaştırın.

Grafik kaynağı verileri

Bu örnekler için, kullanılan e-tablonun aşağıdaki kaynağa sahip olduğunu varsayalım verilerini ("Sayfa1") kapsar. İlk satırdaki dizeler şuna ait etiketlerdir: tek tek sütunlar. Diğer e-tablolardan nasıl okuyacağınızla ilgili örnekleri görüntülemek için A1 gösterimine bakın.

A B C D E
1 Model Numarası Satış - Ocak Satış - Şub Satış - Mart Toplam Satış
2 D-01X 68 74 60 202
3 FR-0B1 97 76 88 261
4 P-034 27 49 32 108
5 P-105 46 44 67 157
6 W-11 75 68 87 230
7 W-24 74 52 62 188

Sütun grafik ekleme

Aşağıdakiler spreadsheets.batchUpdate kod örneği, AddChartRequest seçeneğini tıklayarak kaynak verilerden sütun grafik oluşturabilir ve bu grafiği yeni bir sayfaya yerleştirebilirsiniz. İlgili içeriği oluşturmak için kullanılan isteği, grafiği yapılandırmak için şunları yapar:

  • Grafik türünü sütun grafik olarak ayarlar.
  • Grafiğin alt kısmına gösterge ekler.
  • Grafik ve eksen başlıklarını ayarlar.
  • 3 farklı ay için satışları temsil eden 3 veri serisi yapılandırırken varsayılan biçimlendirme ve renkleri kullanarak yapabilirsiniz.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addChart": {
        "chart": {
          "spec": {
            "title": "Model Q1 Sales",
            "basicChart": {
              "chartType": "COLUMN",
              "legendPosition": "BOTTOM_LEGEND",
              "axis": [
                {
                  "position": "BOTTOM_AXIS",
                  "title": "Model Numbers"
                },
                {
                  "position": "LEFT_AXIS",
                  "title": "Sales"
                }
              ],
              "domains": [
                {
                  "domain": {
                    "sourceRange": {
                      "sources": [
                        {
                          "sheetId": SOURCE_SHEET_ID,
                          "startRowIndex": 0,
                          "endRowIndex": 7,
                          "startColumnIndex": 0,
                          "endColumnIndex": 1
                        }
                      ]
                    }
                  }
                }
              ],
              "series": [
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "sheetId": SOURCE_SHEET_ID,
                          "startRowIndex": 0,
                          "endRowIndex": 7,
                          "startColumnIndex": 1,
                          "endColumnIndex": 2
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                },
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "sheetId": SOURCE_SHEET_ID,
                          "startRowIndex": 0,
                          "endRowIndex": 7,
                          "startColumnIndex": 2,
                          "endColumnIndex": 3
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                },
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "sheetId": SOURCE_SHEET_ID,
                          "startRowIndex": 0,
                          "endRowIndex": 7,
                          "startColumnIndex": 3,
                          "endColumnIndex": 4
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                }
              ],
              "headerCount": 1
            }
          },
          "position": {
            "newSheet": true
          }
        }
      }
    }
  ]
}

İstek, aşağıdaki gibi yeni bir sayfada bir grafik oluşturur:

Sütun grafik tarifi sonucu ekle

Pasta grafik ekle

Aşağıdakiler spreadsheets.batchUpdate kod örneği, AddChartRequest kullanarak kaynak verilerden 3D pasta grafik oluşturabilirsiniz. İstek şunları yapar: grafiği yapılandırın:

  • Grafik başlığını ayarlar.
  • Grafiğin sağına bir gösterge ekler.
  • Grafiği 3D pasta grafik olarak ayarlar. 3D pasta grafiklerde "çörek deliği" merkeze koyabilirsiniz.
  • Grafik veri dizisini, her model numarası için toplam satış olarak ayarlar.
  • Grafiği SHEET_ID tarafından belirtilen sayfanın C3 hücresine sabitler, 50 piksellik bir ofsetle de yapabilirsiniz.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addChart": {
        "chart": {
          "spec": {
            "title": "Model Q1 Total Sales",
            "pieChart": {
              "legendPosition": "RIGHT_LEGEND",
              "threeDimensional": true,
              "domain": {
                "sourceRange": {
                  "sources": [
                    {
                      "sheetId": SOURCE_SHEET_ID,
                      "startRowIndex": 0,
                      "endRowIndex": 7,
                      "startColumnIndex": 0,
                      "endColumnIndex": 1
                    }
                  ]
                }
              },
              "series": {
                "sourceRange": {
                  "sources": [
                    {
                      "sheetId": SOURCE_SHEET_ID,
                      "startRowIndex": 0,
                      "endRowIndex": 7,
                      "startColumnIndex": 4,
                      "endColumnIndex": 5
                    }
                  ]
                }
              },
            }
          },
          "position": {
            "overlayPosition": {
              "anchorCell": {
                "sheetId": SHEET_ID,
                "rowIndex": 2,
                "columnIndex": 2
              },
              "offsetXPixels": 50,
              "offsetYPixels": 50
            }
          }
        }
      }
    }
  ]
}

İstek aşağıdaki gibi bir grafik oluşturur:

Pasta grafik tarifi sonucu ekle

Alternatif olarak, LejantPosition değerini RIGHT_LEGEND bölümünden de güncelleyebilirsiniz. isteğe bağlı olarak LABELED_LEGEND öğesine otomatik olarak eklenir. Böylece açıklama değerleri ve dilimlere bağlanmasını sağlar.

'legendPosition': 'LABELED_LEGEND',

Güncellenen istek aşağıdaki gibi bir grafik oluşturur:

Pasta grafik tarifi sonucu ekle

Bitişik olmayan birden çok aralık kullanarak çizgi grafik ekleme

Aşağıdakiler spreadsheets.batchUpdate kod örneği, AddChartRequest seçeneğini tıklayarak kaynak verilerden çizgi grafik oluşturabilir ve bu verileri kaynak sayfaya yerleştirebilirsiniz. Bitişik olmayan aralıkları seçmek, ChartSourceRange.

İstek, grafiği yapılandırmak için şunları yapar:

  • Grafik türünü çizgi grafik olarak ayarlar.
  • Yatay x ekseni başlığını ayarlar.
  • Satışları temsil eden bir veri serisini yapılandırır. A1:A3 ve A6:A7'yi domain, olarak B1:B3 ve B6:B7'yi series, hem de varsayılan biçimlendirmeyi ve renkleri kullanabilirsiniz. Aralıklar, A1 notasyonunu ekleyin.
  • Grafiği, SHEET_ID tarafından belirtilen sayfanın H8 hücresine sabitler.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addChart": {
        "chart": {
          "spec": {
            "basicChart": {
              "chartType": "LINE",
              "domains": [
                {
                  "domain": {
                    "sourceRange": {
                      "sources": [
                        {
                          "startRowIndex": 0,
                          "endRowIndex": 3,
                          "startColumnIndex": 0,
                          "endColumnIndex": 1,
                          "sheetId": SOURCE_SHEET_ID
                        },
                        {
                          "startRowIndex": 5,
                          "endRowIndex": 7,
                          "startColumnIndex": 0,
                          "endColumnIndex": 1,
                          "sheetId": SOURCE_SHEET_ID
                        }
                      ]
                    }
                  }
                }
              ],
              "series": [
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "startRowIndex": 0,
                          "endRowIndex": 3,
                          "startColumnIndex": 1,
                          "endColumnIndex": 2,
                          "sheetId": SOURCE_SHEET_ID
                        },
                        {
                          "startRowIndex": 5,
                          "endRowIndex": 7,
                          "startColumnIndex": 1,
                          "endColumnIndex": 2,
                          "sheetId": SOURCE_SHEET_ID
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "position": {
            "overlayPosition": {
              "anchorCell": {
                "sheetId": SOURCE_SHEET_ID,
                "rowIndex": 8,
                "columnIndex": 8
              }
            }
          }
        }
      }
    }
  ]
}

İstek, aşağıdaki gibi yeni bir sayfada bir grafik oluşturur:

Bitişik olmayan aralık çizgi grafiği tarifi ekle
sonuç

Grafik silme

Aşağıdakiler spreadsheets.batchUpdate kod örneği, DeleteEmbeddedObjectRequest tuşuna basarak CHART_ID tarafından belirtilen bir grafiği silin.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteEmbeddedObject": {
        "objectId": CHART_ID
      }
    }
  ]
}

Bir grafiğin özelliklerini düzenleme

Aşağıdakiler spreadsheets.batchUpdate kod örneği, UpdateChartSpecRequest Sütun grafik ekle tarifinde oluşturulan grafiği düzenlemek için Verilerini, türünü ve görünümünü değiştirme Grafik özelliklerinin alt kümeleri tek tek değiştirildi. Düzenleme yapmak için spec alanının tamamını girmeniz gerekir UpdateChartSpecRequest ile. Esas olarak, bir grafik spesifikasyonunu bunun yerine yenisiyle değiştirilmesi gerekir.

Aşağıdaki istek, orijinal grafiği günceller (belirtilen: CHART_ID):

  • Grafik türünü BAR olarak ayarlar.
  • Göstergeyi grafiğin sağına taşır.
  • Eksenleri ters çevirir ve "Satış" alt eksende ve "Model Numaraları"nda sol eksende yer alıyor.
  • Eksen başlığı biçimini 24 punto yazı tipi, kalın ve italik olacak şekilde ayarlar.
  • "W-24"ü kaldırır grafikteki veriler (grafik kaynağında 7. satır) verileri) inceleyin.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateChartSpec": {
        "chartId": CHART_ID,
        "spec": {
          "title": "Model Q1 Sales",
          "basicChart": {
            "chartType": "BAR",
            "legendPosition": "RIGHT_LEGEND",
            "axis": [
              {
                "format": {
                  "bold": true,
                  "italic": true,
                  "fontSize": 24
                },
                "position": "BOTTOM_AXIS",
                "title": "Sales"
              },
              {
                "format": {
                  "bold": true,
                  "italic": true,
                  "fontSize": 24
                },
                "position": "LEFT_AXIS",
                "title": "Model Numbers"
              }
            ],
            "domains": [
              {
                "domain": {
                  "sourceRange": {
                    "sources": [
                      {
                        "sheetId": SOURCE_SHEET_ID,
                        "startRowIndex": 0,
                        "endRowIndex": 6,
                        "startColumnIndex": 0,
                        "endColumnIndex": 1
                      }
                    ]
                  }
                }
              }
            ],
            "series": [
              {
                "series": {
                  "sourceRange": {
                    "sources": [
                      {
                        "sheetId": SOURCE_SHEET_ID,
                        "startRowIndex": 0,
                        "endRowIndex": 6,
                        "startColumnIndex": 1,
                        "endColumnIndex": 2
                      }
                    ]
                  }
                },
                "targetAxis": "BOTTOM_AXIS"
              },
              {
                "series": {
                  "sourceRange": {
                    "sources": [
                      {
                        "sheetId": SOURCE_SHEET_ID,
                        "startRowIndex": 0,
                        "endRowIndex": 6,
                        "startColumnIndex": 2,
                        "endColumnIndex": 3
                      }
                    ]
                  }
                },
                "targetAxis": "BOTTOM_AXIS"
              },
              {
                "series": {
                  "sourceRange": {
                    "sources": [
                      {
                        "sheetId": SOURCE_SHEET_ID,
                        "startRowIndex": 0,
                        "endRowIndex": 6,
                        "startColumnIndex": 3,
                        "endColumnIndex": 4
                      }
                    ]
                  }
                },
                "targetAxis": "BOTTOM_AXIS"
              }
            ],
            "headerCount": 1
          }
        }
      }
    }
  ]
}

İstekten sonra grafik şu şekilde görünür:

Grafik tarifi sonucunu düzenle

Grafiği taşıma veya yeniden boyutlandırma

Aşağıdakiler spreadsheets.batchUpdate kod örneği, UpdateEmbeddedObjectPositionRequest tıklayın. İstekten sonra, CHART_ID tarafından belirtilen grafik şununla eşleşir:

  • Orijinal sayfasının A5 hücresine sabitlenmiş.
  • X yönünde 100 piksel ofset.
  • 1.200 x 742 piksel (grafik için varsayılan boyut: 600 x 371 piksel).

İstek yalnızca fields parametresiyle belirtilen özellikleri değiştirir. Diğer özellikler (offsetYPixels gibi) orijinal değerlerini korur.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateEmbeddedObjectPosition": {
        "objectId": CHART_ID,
        "newPosition": {
          "overlayPosition": {
            "anchorCell": {
              "rowIndex": 4,
              "columnIndex": 0
            },
            "offsetXPixels": 100,
            "widthPixels": 1200,
            "heightPixels": 742
          }
        },
        "fields": "anchorCell(rowIndex,columnIndex),offsetXPixels,widthPixels,heightPixels"
      }
    }
  ]
}

Grafik verilerini okuma

Aşağıdakiler spreadsheets.get kod örneği e-tablodan grafik verilerinin nasıl alınacağını gösterir. fields sorgu parametresi yalnızca grafik verilerinin döndürülmesi gerektiğini belirtir.

Bu yöntem çağrısına verilen yanıt spreadsheet nesnesini temsil eden nesne sheet nesne algılandı. Tüm grafikler görünümü temsil edilir. sheet nesnesini tanımlayın. yanıt alanı varsayılan değere ayarlanırsa yanıttan çıkarılır.

Bu örnekte, ilk sayfada (SOURCE_SHEET_ID) Böylece boş bir çift küme parantezi döndürülür. İkinci sayfada Sütun grafik ekle tarafından oluşturulmuş grafikten başka bir grafik oluşturmayın.

İstek protokolü aşağıda gösterilmiştir.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(charts)
{
  "sheets": [
    {},
    {
      "charts": [
        {
          "chartId": CHART_ID,
          "position": {
            "sheetId": SHEET_ID
          },
          "spec": {
            "basicChart": {
              "axis": [
                {
                  "format": {
                    "bold": false,
                    "italic": false
                  },
                  "position": "BOTTOM_AXIS",
                  "title": "Model Numbers"
                },
                {
                  "format": {
                    "bold": false,
                    "italic": false
                  },
                  "position": "LEFT_AXIS",
                  "title": "Sales"
                }
              ],
              "chartType": "COLUMN",
              "domains": [
                {
                  "domain": {
                    "sourceRange": {
                      "sources": [
                        {
                          "endColumnIndex": 1
                          "endRowIndex": 7,
                          "sheetId": SOURCE_SHEET_ID,
                          "startColumnIndex": 0,
                          "startRowIndex": 0,
                        }
                      ]
                    }
                  }
                }
              ],
              "legendPosition": "BOTTOM_LEGEND",
              "series": [
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "endColumnIndex": 2,
                          "endRowIndex": 7,
                          "sheetId": SOURCE_SHEET_ID,
                          "startColumnIndex": 1,
                          "startRowIndex": 0,
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                },
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "endColumnIndex": 3,
                          "endRowIndex": 7,
                          "sheetId": SOURCE_SHEET_ID,
                          "startColumnIndex": 2,
                          "startRowIndex": 0,
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                },
                {
                  "series": {
                    "sourceRange": {
                      "sources": [
                        {
                          "endColumnIndex": 4,
                          "endRowIndex": 7,
                          "sheetId": SOURCE_SHEET_ID,
                          "startColumnIndex": 3,
                          "startRowIndex": 0,
                        }
                      ]
                    }
                  },
                  "targetAxis": "LEFT_AXIS"
                }
              ]
            },
            "hiddenDimensionStrategy": "SKIP_HIDDEN_ROWS_AND_COLUMNS",
            "title": "Model Q1 Sales",
          },
        }
      ]
    }
  ]
}