Как масштабировать круговую диаграмму и гистограмму для отображения - PullRequest
1 голос
/ 24 мая 2019
import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [2,3,4,5,6]
z = [10, 9, 8, 7, 6]
a = [10, 12, 14, 3]
b = [1, 2, 3,4]
c = [1,2,3,4,5]


scatter = plt.scatter(x,y,marker="o", label="Label 1",color="r")
line = plt.plot(x,z,label="Label 2",color="g")
bar = plt.bar(a,b)
pie = plt.pie(c,labels=["Tom", "Dick", "Harry", "And", "Nervous"])
plt.title("Scatter and line")
plt.xlabel("X-label")
plt.ylabel("Y-label")
plt.legend()
plt.show()

Приведенный выше код печатает все, что я хочу, однако круговая диаграмма не совпадает с графическими данными.Есть ли способ, чтобы MatPlotLib открывал их как две отдельные бок о бок диаграммы или перекрывал круговую диаграмму над гистограммой в указанной позиции (например, x = 15, y = 15)

Я включил пример ниже (легенды немного отключены, поэтому игнорируйте их). Мне нужен вывод, например, верхняя строка или вторая строка.

Спасибо

enter image description here

1 Ответ

2 голосов
/ 24 мая 2019

Я считаю, что matplotlib.pyplot.subplot может отображать их рядом друг с другом.

Я немного перестроил ваш код, чтобы уместить эти два подзаговора:

# create first subplot on the left (1 row, 2 columns, position 1)
plt.subplot(121)
pie = plt.pie(c,labels=["Tom", "Dick", "Harry", "And", "Nervous"])

# create second subplot on the right (1 row, 2 columns, position 2)
plt.subplot(122)
scatter = plt.scatter(x,y,marker="o", label="Label 1",color="r")
line = plt.plot(x,z,label="Label 2",color="g")
bar = plt.bar(a,b)
plt.title("Scatter and line")
plt.xlabel("X-label")
plt.ylabel("Y-label")

plt.legend()
plt.show()

Результат: result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...