Спагетти как сюжет в python из текстового файла с разделением пустых строк - PullRequest
0 голосов
/ 15 марта 2020

У меня есть текстовый файл, который имеет 2 столбца и 240k строк, как это

1   2
2   3
.   .
.   .
4   5


7   9
10  8
12  9
.   .
.   .
e-3 72

et c. повторение случайных чисел во множестве блоков из двух столбцов.

Я хотел бы, чтобы код создавал спагетти-подобный график, в котором x - это числа слева, а y - число справа. Дело в том, что одна линия графика должна быть одним блоком x и y, а черная линия - это разделение, что означает, что второй блок x и y - это другая линия графика. Я не нашел никаких ссылок об этом в Интернете. Пожалуйста, помогите мне. Мой текущий код, который я использую, следующий:

import matplotlib.pyplot as plt
import numpy as np

x,y=np.loadtxt('PHDOS2.txt', delimiter=',', unpack=True)
x=x*27211.3
y=y/27211.3
plt.plot(x,y, label='Phonons DoS')



plt.xlabel('Energy (meV)')
plt.ylabel('')
plt.title('Phonons Density of States')
plt.legend()
plt.show()

Большое спасибо!

1 Ответ

0 голосов
/ 15 марта 2020
import matplotlib.pyplot as plt
import numpy as np
x,y=np.loadtxt('pho.txt', delimiter=',', unpack=True)
for row in range(len(x)):
    x_values = [1,2]
    y_values = [x[row],y[row]]
    if np.mod(row,2)==0:
        plt.plot(x_values,y_values, color='blue')
    else:
        plt.plot(x_values,y_values, color='black')
plt.xticks([1.0,2.0], ['blk X', 'blk Y'])    
plt.show()

Должен дать вам сюжет спагетти с альтернативным сине-черным цветом. enter image description here

Однако я не уверен, что вы подразумеваете под The thing is, one plot line should be one block x and y and the black line is a separation that means that the second block x and y is a different plot line. I haven't found any reference about that online.

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