I have made the following graph using matplotlib in python.I have also attached the code I used to make this.enter image description here

The code for the arena

import matplotlib.pyplot as plt import matplotlib.patches as patches obs_boundary = [ [0, 0, 10, 600], [0, 600, 900, 10], [10, 0, 900, 10], [900, 10, 10, 600] ] obs_cir_own = [ [50,500,10], [100,300,10], [240,240,10], [300,400,10], [190,50,10] ] obs_cir_opp = [ [700, 420, 10], [460, 200, 10], [550, 500, 10], [670, 70, 10], [800, 230, 10], [600,300,10] ] fig, ax = plt.subplots() for (ox, oy, w, h) in obs_boundary: print(ox, oy, w, h) ax.add_patch( patches.Rectangle( (ox, oy), w, h, edgecolor='black', facecolor='black', fill=True ) ) for (ox, oy,r) in obs_cir_own: ax.add_patch( patches.Circle( (ox, oy), r, edgecolor='black', facecolor='green', fill=True ) ) for (ox, oy, r) in obs_cir_opp: ax.add_patch( patches.Circle( (ox, oy), r, edgecolor='black', facecolor='red', fill=True ) ) plt.plot(50,50, "bs", linewidth=30) plt.plot(870, 550, "ys", linewidth=30) name='arena' plt.title(name) plt.axis("equal") 

So, I want to implement a similar arena using C++ and I have no idea how to do it? I researched I got to know something about qtplot again I dont know much about qt. So, is qtplot the only way or there are some easier way. Please tell me how to implement this in C++.

3

3 Answers

You could try , which looks like it is just a wrapper around matplotlib anyway, so you are still calling/using Python and matplotlib in the end. With this you probably can copy your code nearly verbatim to "C++".

1

An excellent C++ library to plot graphs is ROOT. It was developed by CERN for physicists. It also includes a C++ shell, in case you want to use C++ with an interactive prompt.

You can find the documentation, download links, and lots of examples, at .

There is also a stackoverflow question by someone trying to plot points: CERN ROOT: Is is possible to plot pairs of x-y data points?

Make graphs is C++ is not as easy as in python. So if you can keep using your python code. Otherwise you can use OpenGL. Here there is the tutorial: . And I think this is what you need:

4

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy