Добавление меток значений на гистограммы: примеры кода на Python, R и JavaScript

Чтобы добавить значения поверх каждой полосы гистограммы, вы можете использовать различные методы в зависимости от используемого языка программирования и библиотеки визуализации. Вот несколько примеров на разных языках:

  1. Python (Matplotlib):

    import matplotlib.pyplot as plt
    def add_value_labels(ax, spacing=5):
    """Add labels on top of each bar in a bar chart."""
    for rect in ax.patches:
        height = rect.get_height()
        ax.text(rect.get_x() + rect.get_width() / 2, height + spacing, str(height), ha='center', va='bottom')
    # Example usage
    data = [10, 20, 15, 25]
    labels = ['A', 'B', 'C', 'D']
    fig, ax = plt.subplots()
    ax.bar(labels, data)
    add_value_labels(ax)
    plt.show()
  2. R (ggplot2):

    library(ggplot2)
    # Function to add labels on top of each bar in a bar chart
    add_value_labels <- function(plot, spacing = 5) {
    plot + geom_text(aes(label = ..count..), stat = 'count', vjust = -0.5) +
    coord_cartesian(clip = 'off')
    }
    # Example usage
    data <- c(10, 20, 15, 25)
    labels <- c('A', 'B', 'C', 'D')
    plot <- ggplot(data.frame(labels), aes(x = labels)) +
    geom_bar()
    add_value_labels(plot)
  3. JavaScript (Chart.js):

    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    </head>
    <body>
    <canvas id="myChart"></canvas>
    <script>
    // Function to add labels on top of each bar in a bar chart
    function addValueLabels(chart) {
      var ctx = chart.ctx;
      chart.data.datasets.forEach(function (dataset, i) {
        var meta = chart.getDatasetMeta(i);
        meta.data.forEach(function (bar, index) {
          var data = dataset.data[index];
          ctx.fillText(data, bar._model.x, bar._model.y - 5);
        });
      });
    }
    // Example usage
    var ctx = document.getElementById('myChart').getContext('2d');
    var data = {
      labels: ['A', 'B', 'C', 'D'],
      datasets: [{
        data: [10, 20, 15, 25],
        backgroundColor: ['red', 'blue', 'green', 'yellow']
      }]
    };
    var chart = new Chart(ctx, {
      type: 'bar',
      data: data,
      options: {
        plugins: {
          afterDraw: function(chart) {
            addValueLabels(chart);
          }
        }
      }
    });
    </script>
    </body>
    </html>

Это всего лишь несколько примеров. Существует множество других языков программирования и библиотек, которые можно использовать для создания гистограмм с метками значений. Не забудьте адаптировать код к вашему конкретному варианту использования и требованиям.