Как построить диаграмму рассеивания из двух списков?
Есть два списка данных time и value, уже посчитанные в Python.
time
[214400,
212100,
115700,
100100,
180400,
104300,
103000,
112300,
100100]
value
[157460,
162960,
165450,
159740,
153490,
153290,
154930,
136830,
104000]
Как из этих двух списков построить диаграмму рассеивания? (картинка просто как пример)
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
попробуйте так:
import matplotlib.pyplot as plt
import numpy as np
def scatterplot(x_data, y_data,
x_label="x_label", y_label="y_label",
title="Hello World",
color = "r",
yscale_log=False
):
# Create the plot object
_, ax = plt.subplots()
# Plot the data, set the size (s), color and transparency (alpha)
# of the points
ax.scatter(x_data, y_data, s = 10, color = color, alpha = 0.75)
if yscale_log == True:
ax.set_yscale('log')
# Label the axes and provide a title
ax.set_title(title)
ax.set_xlabel(x_label)
ax.set_ylabel(y_label)
plt.show()
a = [214400, 212100, 115700, 100100, 180400, 104300, 103000, 112300, 100100]
b = [157460, 162960, 165450, 159740, 153490, 153290, 154930, 136830, 104000]
scatterplot(a, b)
Автор решения: CrazyElf
→ Ссылка
А в чём сложность?
from matplotlib import pylab as plt
time =\
[214400,
212100,
115700,
100100,
180400,
104300,
103000,
112300,
100100]
value =\
[157460,
162960,
165450,
159740,
153490,
153290,
154930,
136830,
104000]
plt.figure(figsize=(12, 5)); # если нужно задать размер картинки
plt.scatter(time, value);
Хотел ещё картинку приложить, но какие-то сложности с браузером.
; в конце строк отрисовки нужна, чтобы Jupyter не писал лишнего в выводе (он выводит на экран репрезентацию того, что возвращает последняя инструкция в ячейке, там будет всякая лабуда на экране помимо графика).

