Как создавать сложные графики в matplotlibcpp?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создавать сложные графики в matplotlibcpp?

Сообщение Anonymous »

Это код Python для логарифмической фигуры Matplotlib:

Код: Выделить всё

import matplotlib.pyplot as plt
import math

n = [i for i in range(1, 30)]
a = n;
b = [1/i for i in range(1, 30)]
c = [math.sqrt(i) for i in range(1, 30)]

plt.figure(figsize=(10, 6))
plt.plot(n, a, label="Data A", marker='o')
plt.plot(n, b, label="Data B", marker='s')
plt.plot(n, c, label="Data C", marker='^')
plt.yscale('log')
plt.xlabel('N')
plt.ylabel('Data')
plt.title('My data.')
plt.legend()
plt.grid(True)
plt.show()
Изображение

Как бы мне создать что-то подобное на C++?
Сейчас я использую библиотеку matplotlibcpp.h.
Но я начинаю думать что эта библиотека не способна создавать графики, подобные показанным выше.
Вот одна из моих попыток:

Код: Выделить всё

#include 
#include 
#include       // For std::sqrt
#include "matplotlibcpp.h"

namespace plt = matplotlibcpp;

int main() {
// Generate data
std::vector n;
std::vector a;
std::vector b;
std::vector c;

for (int i = 1; i < 30; ++i) {
n.push_back(i);
a.push_back(i);                  // Data A
b.push_back(1.0 / i);            // Data B (1/i)
c.push_back(std::sqrt(i));       // Data C (sqrt(i))
}

// Create a figure
plt::figure_size(1000, 600);
plt::semilogy(n, a);
plt::semilogy(n, b);
plt::semilogy(n, c);
plt::xlabel("N");
plt::ylabel("Data");
plt::title("My data.");
plt::legend();
plt::grid(true);
plt::show();

return 0;
}

Изображение

Это довольно близко, но я все еще пытаюсь добавить легенду и маркеры.
Это не так просто, как кажется, поскольку функции построения графика не принимают никаких дополнительных параметров. .
Спасибо за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... plotlibcpp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как добавить библиотеку matplotlibcpp.h в VS-Code
    Anonymous » » в форуме C++
    0 Ответы
    92 Просмотры
    Последнее сообщение Anonymous
  • Программа прерывается, когда я пытаюсь запустить пример Matplotlibcpp с страницы GitHub
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Сложные 2D-контурные графики вдоль оси Y в Python
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Сложные 2D-контурные графики вдоль оси Y в Python
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Сложные 2D-контурные графики вдоль оси Y в Python
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»